如何选择包含“我的内容”的 div?
<table>
<tr>
<td class="ms-disc-bordered-noleft">
<div class="">
<div>some content</div>
<div>my content</div>
</div>
</td>
</tr>
</table>
该 div 与 td.ms-disc-bordered-noleft 有什么关系?
如何选择包含“我的内容”的 div?
<table>
<tr>
<td class="ms-disc-bordered-noleft">
<div class="">
<div>some content</div>
<div>my content</div>
</div>
</td>
</tr>
</table>
该 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 的孩子的孩子。
作为 inner 的第二个孩子的一种选择<div>
:
var div = $(".ms-disc-bordered-noleft > div > div:eq(1)");
如何选择包含“我的内容”的 div?
$('.ms-disc-bordered-noleft').find('div').contains("my content");
如果我不太了解您的 Q. ...您可以使用:
$('.ms-disc-bordered-noleft div').find('div:last');
^^-parent ^^-first children ^^-last div
它是一个父节点,您可以使用.parent()
and.children()
或.find()
最直接的路线是:
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