0

でいくつかの要素を選択し、DOM ツリーの下位にある.someClass次の要素を選択したいと考えています。<label>

これらの 2 つの要素の間には、次のようなものがあります。

<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>

4

4 に答える 4

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/

これがあなたの望むものであることを願っています

于 2013-10-25T23:15:25.143 に答える
-1

試す

$(".someClass").parent("body").find("label");

andbodyの親を使用する代わりに。someClasstable

フィドル

于 2013-10-25T16:45:42.283 に答える
-1

間違いなく Jquery の次の関数を使用したいと思うでしょう。私は基本的に同じ質問をし、答えを得ました

ヘッダークリック、アコーディオンでの Div ID の取得

于 2013-10-25T19:59:12.420 に答える