Jquery我做错了什么?

时间:2012-04-13 14:16:03

标签: jquery

我想读出List项的值并将其写入span 所以列表看起来像这样:

  • 我的第一项(1)
  • 另一项(2)
  • 下一项(3)

  • 我的第一项(a)
  • 另一项(b)
  • 下一项(c)

但我没有发现错误:

<div id="Listgroup">
    <ul id="list1"> 
      <li><a href="" value="1">my first item<span></span></a></li>
      <li><a href="" value="2">another item<span></span></a></li>
      <li><a href="" value="3">next item<span></span></a></li>
    </ul>
<br>
    <ul id="list2"> 
      <li><a href="" value="a">my first item<span></span></a></li>
      <li><a href="" value="b">another item<span></span></a></li>
      <li><a href="" value="c">next item<span></span></a></li>
    </ul>
</div>

<script>
$(function(){
$("li a").each(function(idx, item){
    $("span", "li a[value|=' + $(this).attr('value') + ']")
        .html(" (" + $(this).attr('value') + ")");
});
});
</script>

请帮助

谢谢

1 个答案:

答案 0 :(得分:4)

您的引号与字符串引号不匹配,因此将其' + $(this).attr('value') + '分类为字符串,而不是$(this).attr('value')作为对象

$("span", "li a[value|=" + $(this).attr('value') + "]")

此外,您不需要找到这样的值。您已经知道this是什么,因此您可以span value从那里开始。{/ p>

此外,anchor元素没有data-value属性,使得此HTML无效。您应该将其更改为$(function(){ $("li a").each(function(idx, item){ $(this).find("span").html(" (" + $(this).data("value") + ") "); }); }); ,这将使其符合HTML5:

{{1}}

find