我有这个功能,我用来打开一个模态对话框,我需要填充“dblclicked”节点的一些信息:
$(function(){
$(".delete").live('dblclick', function () {
var id = $(this).attr('id');
$('#delID').val(id);
var txt = this.parentNode.children[2].innerHTML;
$("#details").html(txt);
$("#delAssign").dialog('open');
});
});
html示例:
<tr>
<td class='delete'></td>
<td></td>
...
<td></td>
</tr>
<tr>
...
</tr>
现在我正在使用纯javaScript获取
var txt = ...
。
问题是“如何使用jQuery为var txt实现相同的结果?”
答案 0 :(得分:3)
您可以将其更改为:
var txt = $(this).siblings(":eq(2)").html();
我认为这是最快的解决方案。
答案 1 :(得分:2)
像这样:
var txt = $(this).parent().children().eq(2).html();
.parent()
选择父元素。
.children()
选择孩子
.eq(2)
在子项
2
的元素
.html()
获取此元素的html内容
修改:感谢Felix Kling将children(':eq(2)')
更改为children().eq(2)
答案 2 :(得分:0)
var txt = $(this).siblings().eq(2).html();
使用eq()
作为方法而不是将其作为选择器传递更快。
无论如何,既然你已经有了JavaScript解决方案,为什么要使用jQuery减慢速度?