如何用$(this)指定一个类

时间:2015-01-28 02:52:53

标签: jquery

更改其中一个输入字段中的条目。单击计算机上的enter键。期望的结果是在p标签内只有相应的span标签(class =" note")来显示输入结果;并非所有span标记都在此示例中演示。如何将$(" .note")定义为"此类"。我已经尝试了一切。



$(document).ready(function(){
  $("p > .test").change(function(){
    $(".note").html($(this).val());
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<p><input type="text" class="test" value="Mickey Mouse"><span class="note"></span></p>
<p><input type="text" class="test" value="Mickey Mouse"><span class="note"></span></p>
<p><input type="text" class="test" value="Mickey Mouse"><span class="note"></span></p>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

您需要jQuery .next()功能:

$(document).ready(function(){
  $("p > .test").change(function(){
    $(this).next(".note").html($(this).val());
  });
});

答案 1 :(得分:0)

您可以使用jQuery的许多traversal methods来定位正确的节点。一个可能的解决方案是获得this的下一个元素兄弟:

$(this).next().html(...);

另一个是获得.note父母的this孩子:

$(this).parent().children('.note').html(...);

答案 2 :(得分:0)

$('.note')将收集该页面中该类的所有元素。

在jQuery事件处理程序中,this是发生事件的匹配选择器中的元素。然后,您可以使用元素中的遍历,一个简单的遍历为siblings()

$("p > .test").change(function(){
  $(this).siblings(".note").html($(this).val());
});

一些替代遍历

$(this).next()
$(this).parent().find('.note')
$(this).closest('p').find('.note')

DEMO