我选择了.someClass
的某个元素,我想选择在DOM树中较低的下一个<label>
元素。
在这两个元素之间可以是其他任何元素,例如:
<input class="someClass" />
<p>asdfasdf</p>
<div></div>
<table>
<tr>
<td>
<label>SOMETHING</label>
</td>
</tr>
</table>
我的剧本:
$(".question").each(function (index, value) {
vargroupNumber = ++index;
$(":radio", this)
.attr("name", "group" + groupNumber)
.each(function (index, value) {
$(this)
.removeAttr('checked')
.attr("id", "id" + groupNumber + index)
.next('label')
.attr("for", "id" + groupNumber + index);
});
});
我想选择并设置一些<label>
。
答案 0 :(得分:0)
你可以通过递归来完成这里的代码
var elem = $('.someClass');
findlabel(elem)
function findlabel(elem) {
if (elem.prop('tagName') == 'LABEL') {
elem.text('yahoo');
//do what you want to do
} else if (!elem.is(':empty')) {
var notfound = 1;
elem.find('*').each(function () {
if ($(this).prop('tagName') == 'LABEL') {
$(this).text('yahoo');
//do what you want to do
notfound = 0;
return false;
}
});
if (notfound == 1) {
elem = elem.next();
findlabel(elem);
}
} else {
elem = elem.next();
findlabel(elem);
}
}
以下是工作示例: - http://jsfiddle.net/LLkdA/
我希望这就是你想要的
答案 1 :(得分:0)
这是already solved(甚至是"pluginified")。
答案 2 :(得分:-1)
答案 3 :(得分:-1)
你肯定会想要使用Jquery下一个功能。我基本上问了同样的问题并得到了答案