0

我创建了一个选项卡并在其中附加了一些文本

$("#tabcontent").append('<p id="c'+count+'"><table> <tr>Tab Content '+count+'<br><span id="addColumns" style="cursor:pointer;">Add Columns</span></p>');

有一个 idaddColumns我为这个 id 写了一个函数

$('#addColumns').click(function(){ $("#tabcontent").html(''); });

当我点击Add Columns什么都没有发生...

4

2 回答 2

1

页面加载时您的表格不在 DOM 中,因此这是未来元素,这就是它不起作用的原因。你必须使用.live()

$('#addColumns').live('click', function(){ $("#tabcontent").html(''); });

或根据 jQuery 1.7

采用.on

$(document).on('click','#addColumns', function(){
        $("#tabcontent").html('');
 });
于 2012-04-25T05:59:34.523 回答
1

让我们修复你得到的 html 结构,然后再试一次。

<p id="c'+count+'">
    <table> 
        <tr>Tab Content '+count+'
            <br>
            <span id="addColumns" style="cursor:pointer;">Add Columns</span>
</p>

此外 - 您真的想清除单击跨度的元素吗?

编辑: 那是您的 html 代码,而不是您应该使用的代码。在您的行内尝试一个 td-tag 并尝试关闭您的标签。

于 2012-04-25T06:01:45.753 回答