我有一个这样的数组:
var name = ["cat","shark","tiger","snake"];
我希望将数组内容设置为<span>
title。
HTML CODE:
<ul id="select">
<li class="ui-state-default"><span>CAT</span></li>
<li class="ui-state-default"><span>SHARK</span></li>
<li class="ui-state-default"><span>TIGER</span></li>
<li class="ui-state-default"><span>SNAKE</span></li>
</ul>
jquery代码:
for(var i=0; i<=name.length; i++){
$('#select li > span').each(function() {
this.title = name[i];
});
};
但是这段代码不起作用。 跨度的标题是不分割的。
答案 0 :(得分:3)
如果title
表示span
的文字,我建议:
$('#select li span').text(function(i){
return name[i];
});
或者,如果您尝试设置标题属性,我建议:
$('#select li span').attr('title',function(i){
return name[i];
});
答案 1 :(得分:0)
循环跨越和数组是没有意义的。此外,i <= name.length
表示您将始终循环过去数组(应为<
)。这意味着您实际上是将每个span的标题设置为不存在的数组元素。
$('#select li > span').each(function(i) {
$(this).attr('title', name[i]);
});
您可能还想检查name[i]
是否存在。
答案 2 :(得分:0)