jquery选择嵌套div
如何选择包含“我的内容”的div?
some content my content
这个div与td.ms-disc-bordered-noleft有什么关系?
-
$('.ms-disc-bordered-noleft div:last')
-
$('.ms-disc-bordered-noleft div:eq(2)')
-
$('.ms-disc-bordered-noleft').find('div:eq(2)');
- 或
$("div:contains('my content'):last");
回到机器人…我的意思是div ……你在寻找。
我有一种感觉, $('.ms-disc-bordered-noleft div:last')
是你最好的选择; 我的性能测试显示它通常是4个提案中最快的(FireFox更喜欢$('.ms-disc-bordered-noleft').find('div:eq(2)');
)。
有关使用中的不同选择器的示例,请参见http://jsfiddle.net/jhfrench/cfeZU 。
至于你问题的第二部分,那个div是td.ms-disc-bordered-noleft
元素的“后代”。 更具体地说,它是td孩子的孩子。
作为内部
第二个孩子的一个选项:
var div = $(".ms-disc-bordered-noleft > div > div:eq(1)");
它是父节点,您可以使用.parent()
和.find()
或.find()
遍历向下
如何选择包含“我的内容”的div?
$('.ms-disc-bordered-noleft').find('div').contains("my content");
如果我不太了解你的Q. …你可以使用:
$('.ms-disc-bordered-noleft div').find('div:last'); ^^-parent ^^-first children ^^-last div
最直接的路线是:
var div = $("div:contains('my content'):last");
至于与td的关系,你可以从上面开始并继续前进。
var cell = div.closest('td');
这些不一定是性能方面最快的选项,但它们是最短的代码。 我喜欢简短的代码。
.ms-disc-bordered-noleft div div:nth-child(2)
要么
.ms-disc-bordered-noleft div div:last-child