使用JQuery将数组内容设置为span标记的标题

时间:2013-03-09 17:09:41

标签: javascript jquery arrays

我有一个这样的数组:

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];
        });
    }; 

但是这段代码不起作用。 跨度的标题是不分割的。

3 个答案:

答案 0 :(得分:3)

如果title表示span文字,我建议:

$('#select li span').text(function(i){
    return name[i];
});

JS Fiddle demo

或者,如果您尝试设置标题属性,我建议:

$('#select li span').attr('title',function(i){
    return name[i];
});

JS Fiddle demo

答案 1 :(得分:0)

循环跨越数组是没有意义的。此外,i <= name.length表示您将始终循环过去数组(应为<)。这意味着您实际上是将每个span的标题设置为不存在的数组元素。

$('#select li > span').each(function(i) {
    $(this).attr('title', name[i]);
});

您可能还想检查name[i]是否存在。

http://jsfiddle.net/wtbE5/

答案 2 :(得分:0)

尝试:

$('#select li span').each(function(i){
    $(this).html(name[i]);
});

Sample