基于下面的HTML结构,jquery的每个函数都会循环遍历以下jquery代码,从id“startHere”开始,再到下一个兄弟,类名为
$("#startHere").each(function(index, value)
{
alert$(this).text(index));
});
<tr><td class='above'><td></tr>
<tr><td class='above'><td></tr>
<tr><td class='above'><td></tr>
<tr id='startHere'><td><td></tr>
<tr><td class='below'><td></tr>
<tr><td class='below'><td></tr>
<tr><td class='below'><td></tr>
<tr><td class='below'><td></tr>
如何让每个函数循环遍历前面的兄弟姐妹,其名称为“above”,从id“startHere”开始?
答案 0 :(得分:0)
你可以尝试
var log = (function () {
var $log = $('#log');
return function (msg) {
$('<p/>', {text: msg}).appendTo($log)
}
})();
//set some content for the td
$('table td').text(function(i){return i;})
$("#startHere").prevAll().find('.above').each(function (index, value) {
log($(this).text());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<tr><td class='above'></td></tr>
<tr><td class='above'></td></tr>
<tr><td class='above'></td></tr>
<tr id='startHere'><td></td></tr>
<tr><td class='below'></td></tr>
<tr><td class='below'></td></tr>
<tr><td class='below'></td></tr>
<tr><td class='below'></td></tr>
</table>
<div id="log"></div>
&#13;
td.above
元素