1

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

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

  • 我的第一项(一)
  • 另一项(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>

请帮忙

谢谢

4

1 回答 1

4

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

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

此外,您不需要找到这样的值。你已经知道是什么this,所以你可以findspan那里开始。

此外,锚元素没有value属性,使得这个 HTML 无效。您应该将其更改为data-value使其符合 HTML5:

$(function(){
$("li a").each(function(idx, item){        
    $(this).find("span").html(" (" + $(this).data("value") + ") ");    
});
});

-- 看演示 --

于 2012-04-13T14:17:03.943 回答