$(this)并且发现它在JQuery中不起作用

时间:2016-12-04 10:30:30

标签: javascript jquery

我试图访问div form-group的子节点,更具体地说,我试图打印出输入值

<div class="form-group">
    <label>text</label>
    <input name="text" type="text" class="form-control" value="123456" />
    <script>
        alert($(this).find("input").val());
    </script>
</div>

为什么这段代码不起作用?我得到undefined。我应该得到123456

2 个答案:

答案 0 :(得分:3)

$(this)指向父指令。例如:

$('body').on('click', '.element', function(){
    $(this).find('input').val();
})

在这种情况下,$(this)目标是&#34; .element&#34;。在你的例子中,你指的是什么,所以你不能得到任何价值。

答案 1 :(得分:2)

试试这个:

var inputElement = $(document.currentScript).parent().find('input');
alert(inputElement.val());