Jquery我做错了什么?
问题描述:
我想读出列表项的值并将其写入跨度。
这样的名单如下:Jquery我做错了什么?
- 我的第一个项目(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>
请帮助
谢谢
答
你的引号不匹配字符串引号,所以它的分级' + $(this).attr('value') + '
作为一个字符串,而不是$(this).attr('value')
作为对象
$("span", "li a[value|=" + $(this).attr('value') + "]")
而且,你并不需要找到像该值。你已经知道this
是什么,所以你可以从那里只需find
span
。
此外,锚元素没有value
属性,使得这个HTML无效。你应该将其更改为data-value
这将使它符合HTML5:
$(function(){
$("li a").each(function(idx, item){
$(this).find("span").html(" (" + $(this).data("value") + ") ");
});
});
什么错误信息你好吗? – 2012-04-13 14:17:17
[tag:list] *特别说明在描述中它不适用于HTML列表。 – 2012-04-13 14:25:57