我有一些看起来像这样的HTML代码:
<tr id="nbContent_GR1">...</tr>
<tr id="nbContent_GR2">...</tr>
<tr id="nbContent_GR3">...</tr>
<tr id="nbContent_GR4">...</tr>
<tr id="nbContent_GR5">...</tr>
<tr id="nbContent_GR6">...</tr>
在其中一行中,我想遍历DOM以查找具有以“nbContent_GR”开头的ID属性的最接近元素。所以基本上我希望能够在不知道其确切ID的情况下找到父TR元素,只是第一个以“nbContent_GR”开头的ID。这可能吗?如果是这样,我该怎么做呢?
BTW,我知道最近的()和“包含”选择器,只是不确定是否可以在属性值上使用包含。
答案 0 :(得分:14)
只是做:
tr = $(this).closest("[id^='nbContent_GR']");
将遍历DOM,直到找到ID为'nbContent_GR'的父代
答案 1 :(得分:3)
.closest('[id^="nbContent_GR"]')
答案 2 :(得分:2)
要查看两个有用的页面:
http://api.jquery.com/closest/
http://api.jquery.com/attribute-starts-with-selector/
我认为你可以将这些结合起来解决问题。
在TR内,找到最接近的TR。然后使用'starts with'选择器查找以所需值开头的ID。
E.g:
$(this).closest("tr").parent().find("id^='nbContent_GR'");