我需要找到直接在每个“某些数据”之前的属性。有什么想法吗?
<table>
<tr attribute="1"><td>some data1</td></tr>
<tr> <td>some data2</td></tr>
<tr> <td>some data3</td></tr>
<tr> <td>some data4</td></tr>
<tr attribute="2"><td>some data5</td></tr>
<tr> <td>some data6</td></tr>
<tr> <td>some data7</td></tr>
<tr attribute="3"><td>some data8</td></tr>
<tr> <td>some data9</td></tr>
<tr> <td>some data10</td></tr>
<tr> <td>some data11</td></tr>
<tr> <td>some data12</td></tr>
</table>
答案 0 :(得分:0)
使用属性选择器后跟包含。
$('tr[attribute] td:contains("some data")').each(function() {
var attrValue = $(this).parent().attr('attribute');
});
答案 1 :(得分:0)
这会遍历DOM,直到找到parent
attribute
为止。
function getAttribute($parent){
if($parent.index() !== 0) {
if($parent.attr('attribute')) {
return $parent.attr('attribute')
} else {
return getAttribute($parent.prev());
}
} else {
return $parent.attr('attribute')
}
}