0

我有一个发布到服务器的网页,服务器返回一些 HTML:

<select id="selectmodel"><option value="0">Model</option></select>

该 HTML 进入 TD 标记 (#td2),如下所示,看起来一切正常:

$.post("/cgi-bin/gcp.dll/modelx",{ manufacturerVal: window.manufacturerVal}, function(data) {$('#td2').html(data)});

但是,似乎其他一些 ID 消失了。当我在帖子之前尝试下面的行时,它工作正常。之后,它不再起作用:

$("#td5").click(function() {if (document.getElementById("table2")){alert("table2 exists")}else{alert("table2 does not exist")}});

TD 标签 (#td5) 位于 TD 标签 (#td2) 下方。当我在#table1(包含#td2 和#td5 的表)上尝试相同的测试时,它并没有消失。这是 HTML 的简化:

<table id="table1"><tr>
<td id="td2"> ... </td>   <-- dynamically created select tag goes here
<td id="td4"><table id="table2"><tr><td> ... </td></tr></td> 
<td id="td5"> ... </td>
</tr></table> 

有任何想法吗?

4

1 回答 1

1

按照上面评论中的链接后:

tablewith id在with idtable2内。您将函数绑定到元素的更改事件。该功能包括这一行:tdtd4change1()select

$("#td4").html("&nbsp;");

它用不间断的空格覆盖原始 html。所以第2个alert是正确的。table2 does not exist.

于 2012-08-10T05:08:06.460 回答