我有这段代码:
<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>
提醒
bbbbb
test
null
wtf
td内容被标记为空(忽略)?
为什么?
proof http://sandbox.phpcode.eu/g/743de.php
看here 而且我的警报也让我无效
答案 0 :(得分:5)
alert($("#"+a).html());
为null,因为您传递的是无效ID。
alert($("#td").html());
为null,因为元素td在其上下文中不是有效的html。
答案 1 :(得分:5)
首先,您不能在表格之外添加<td>
个元素,但是在您的更新中,您已经修复了它。
在您的最新更新中,由于jQuery选择器的工作原理,您发布的小提琴返回null。您要查找的ID是“5c192.php”,因此当您执行$('#'+a)
时,它变为$('#5c192.php')
,其被解释为'ID = 5c192'和'class = php',因为{{1} 1}}是一个类选择器。
将.
更改为$('#'+a)
。
答案 2 :(得分:3)
您正在呼叫del("bbbb")
,但<td>
的ID为“bbbbb”,其中包含5个b。不知道这是不是你的问题。此外,您不能在表格之外使用<td>
,这可能是$("#td")
搞乱的原因。尝试:;
<script>
function del(a){
alert(a);
alert($("#"+a).html());
alert($("#td").html());
alert($("#div").html());
}
</script>
<div id="div">wtf</div>
<table>
<tr>
<td id="bbbbb">test</td><td><span onclick="del('bbbbb');">click</span></td>
<td id="td">wtf</td>
</tr>
</table>
td
不在表格之外有效。如果您通过Web检查器查看生成的输出,您将看到td已被删除,并且其内容以纯文本形式放置在页面上。 td在那里是无效的,因此试图通过JS来实现它将证明是困难的并且不是一个好主意。
答案 3 :(得分:3)
应在TABLE标签中包含TD 就像这个例子:jsfiddle
答案 4 :(得分:2)
浮动<td>
元素无效,基本上被解析为
wtf
没有无效的td元素。将它改为span,div等,它会起作用。除了缺少的b
更新:
在您的jsFiddle中,您的ID为5c192.php
。具体来说,不是以字母开头。来自What are valid values for the id attribute in HTML?
ID和NAME令牌必须以字母([A-Za-z])开头,可能是 后跟任意数量的字母,数字([0-9]),连字符(“ - ”), 下划线(“_”),冒号(“:”)和句点(“。”)。
虽然,我也会删除这段时间。
答案 5 :(得分:1)
第一个td(id =“td”的那个)在一个表之外(tds总是应该在一个表中)并且你调用函数del给出一个带有4 b的字符串,bbbb而你的td有5天,ddddd。
答案 6 :(得分:1)
由于bbbbb(5x)和bbbb(4x)不同。