仅从$(this)中选择第一级元素

时间:2012-05-31 12:32:30

标签: jquery

我想从$(this)选择器中选择第一级输入隐藏字段。试过:

$(this).find('> input[type="hidden"]')

但似乎没有选择。

HTML看起来像:

<div id="pollo">
    <div>
        <input type="hidden" />
        <input type="hidden" />
            <div>
                <input type="hidden" />
            </div>
    </div>
    <input type="hidden" />
</div>  

4 个答案:

答案 0 :(得分:5)

“第一级”元素称为children,因此您可以使用children()方法找到它们:

$(this).children('input[type=hidden]')

答案 1 :(得分:0)

您的代码应该有ID,然后您可以使用。

var id = $(this).attr('id');

$('#' + id + ' > input[type="hidden"]')...

答案 2 :(得分:0)

嗯,很奇怪。确保this实际上是父元素。这是一个jsFiddle的例子。

HTML

<div id="box-1">
    <input type="hidden" value="I'm in box 1" />
    <div id="box-2">
        <input type="hidden" value="I'm in box 2" />
    </div>
</div>

的JavaScript

$(function()
{
    $('#box-1').find('> input[type="hidden"]').each(function()
    {
        alert($(this).val());
    });
});
​

答案 3 :(得分:0)

jQuery API之后,在这种情况下你应该像这样放置this

$('> input[type="hidden"]', this)

Live DEMO