从函数向每个jQuery添加多个值

时间:2014-07-27 06:01:47

标签: javascript jquery function foreach

我有下面这个小提琴。 http://jsfiddle.net/7YFHX/

            <ul></ul>

            <script>
            function test() {
                var myNum = [1,2,3,4,5],
                    myNumTxt = ['one','two','three','four','five'];
                return [myNum, myNumTxt];
            }

            var myTest = test(),
                myTestNum = myTest[0],
                myTestNumTxt = myTest[1];
            console.log(myTestNum);
            console.log(myTestNumTxt);


            $.each(myTest, function (index, value) {
                $("ul").append('<li title="' + value[1] + '">' + value[0] + '</li>');
            });
            </script>

我想要返回的是我的数组中每个项目的列表项,其中myNumTxt显示在标题文本中,如下所示。

            <ul>
            <li title="one">1</li>
            <li title="two">2</li>
            <li title="three">3</li>
            <li title="four">4</li>
            <li title="five">5</li>
            </ul>

目前我正在返回以下内容。

            <ul>
            <li title="2">1</li>
            <li title="two">one</li>
            </ul>

我在这里做错了什么?如何为每个值返回两个值?

3 个答案:

答案 0 :(得分:2)

如何使用for循环如下:

var myTest = test();
for(var i = 0; i < myTest[0].length; i++){
    $("ul").append('<li title="' + myTest[1][i] + '">' + myTest[0][i] + '</li>');
}

答案 1 :(得分:0)

您正在将myTest传递给each功能。那就是问题所在。试试这个:

$.each(myTestNum, function (index, value) {
    $("ul").append('<li title="' + myTestNumTxt[index] + '">' + value + '</li>');
});

答案 2 :(得分:0)

You can do it like this way,   


var listItems={};

var myNum = [1,2,3,4,5];
var myNumTxt = ['one','two','three','four','five'];

$.each(myNum, function(index,value){
    createHash(myNumTxt[index],myNum[index])
});


function createHash(key,value){
    listItems[key]=value;
}

$.each(listItems, function (key, value) {
    $("ul").append('<li title="' + key + '">' + value + '</li>');
});