jQuery每个函数都返回一个元素

时间:2014-06-30 08:23:11

标签: javascript jquery

HTML:

<div id='input'>
    <p>hola</p>
    <p>amigo</p>
</div>

使用jquery:

$('#input').each(function() {
    console.log($(this).text() + 'mucho');
});

返回如下:hola amigo mucho。

为什么它没有返回&#34; hola mucho amigo mucho&#34;?

5 个答案:

答案 0 :(得分:4)

尝试定位元素p内的子#input元素,

$('#input > p').each(function() {
  console.log($(this).text() + 'mucho');
});

DEMO

答案 1 :(得分:2)

因为在你的情况下:

$('#input').each(function() {
    console.log($(this).text() + 'mucho');
});

您正在访问ID&#34;输入&#34;可在页面上找到。如果有多个#input标签(尽管CSS无效),那么它会选择所有这些标签。 #input内的内容被视为一个实例,它不会滚动#input标签内的内部标签。

  

解决方案描述:您需要进入#input然后进入   申请&#34;每个&#34;获得他们的个人访问权。

$('#input p').each(function() {
   console.log($(this).text() + 'mucho');
});

#input p表示p标记内的每个input

答案 2 :(得分:1)

将其更改为:

$('#input p').each(function() {
   console.log($(this).text() + 'mucho');
});

答案 3 :(得分:1)

试试这个

$('#input p').each(function() {
console.log($(this).text() + 'mucho');
});

答案 4 :(得分:0)

由于您只有1 #input个元素,因此.each()只能执行一次。

$('p').each(function() {
    console.log($(this).text() + 'mucho');
});