Jquery получить элементы - PullRequest
       16

Jquery получить элементы

2 голосов
/ 31 января 2011

HI У меня следующая проблема, у меня есть список ul, подобный этому

<ul class="ul">
    <li id="li1">
        <span class="widget">
            <input name='try1' value="try1" class="param" />
        </span>
        <ul>
            <li class="li2">
                <span class="widget">
                    <input name='try1' value="try1" class="param" />
                    <input name='try2' value="try2" class="param" />
                </span>
            </li>
        </ul>
    </li>
<li id="2"></li>
</ul>

моя проблема, когда я пытаюсь получить данные таким образом

$('#li1 .param').each(function(){
        alert($(this).attr('name'));
    });

каждый возвращаетсяme try1 try1 try2 Но мне нужны только эти между промежутками, если кто-то знает, как их получить?Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 31 января 2011

Трудно понять, но я предполагаю, что вы имеете в виду, что вам нужны только те, которые происходят от дочернего элемента <span> вместо всех элементов <span>.

Если так, сделайте это:

$('#li1 > span .param').each(function(){
    alert($(this).attr('name'));
});

При этом используются child-selector (документы) для нацеливания .param элементов, которые происходят от элемента <span>, который является потомком #li1.

1 голос
/ 31 января 2011

Звучит так, как будто вы не хотите, чтобы .param внутри вложенного <ul>.

Вы можете написать $('#li1>.widget .param'), чтобы получить все .param с в .widget с непосредственно внутри #li1.

...