为什么jquery的.html()不能处理<td> </ td>?

gen*_*sis 3 html javascript jquery dom html-table

我有这个代码:

<script> 
function del(a){
        alert(a);
        alert($("#"+a).html());
        alert($("#td").html());
            alert($("#div").html());
}
</script> 
<td id="td">wtf</td> 
<div id="div">wtf</div> 
<table> 
   <tr>
       <td id="bbbbb">test</td><td><span onclick="del('bbbb');">click</span></td>
   </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

提醒是

bbbbb
test
null
wtf
Run Code Online (Sandbox Code Playgroud)

td内容被标记为null(被忽略)?

为什么?

证明http://sandbox.phpcode.eu/g/743de.php

更新:

这里 ,我的警报也让我无效

Yiğ*_*ner 5

alert($("#"+a).html());
Run Code Online (Sandbox Code Playgroud)

为null,因为您传递的是无效的ID.

alert($("#td").html());
Run Code Online (Sandbox Code Playgroud)

为null,因为元素td在其上下文中不是有效的html.


编辑:您的代码在那里工作正常.这次你的身份证无效.无法以数字开头.


Roc*_*mat 5

首先,你不能拥有<td>表格之外的元素,但是在你的更新中,你已经解决了这个问题.

在您的最新更新中,由于jQuery选择器的工作原理,您发布的小提琴返回null.你要找的ID是"5c192.php",所以当你这样做$('#'+a)$('#5c192.php'),它被解释为'ID = 5c192'和'class = php',因为它.是一个类选择器.

更改$('#'+a)$('[id="'+a+'"]').