使用jquery创建一个ID数组

时间:2015-04-09 16:56:11

标签: jquery arrays

我在这里遇到一些问题。

我已经创建了一个数组,我想放置我的ID,但是当我使用这段代码时,结果不是我所期待的,我不知道为什么:

var ids = ['#biography', '#videogallery', '#pubblications', '#contacts', '#resume'];
console.debug(ids);
var currentElem = "";

$(window).load(function () {
    var vWidth = $(window).width();
    var vHeight = $(window).height();
    $(ids).each(function() {
        var currentElem = $(this);
        console.debug(currentElem)
        $(currentElem).css('width', vWidth).css('height', vHeight);
    })
});

基本上我想要的是仅为特定ID设置高度和宽度,但each的结果是这样的:

"#", "b", "i", "o", "g", "r", "a", "p", "h", "y", jquery: "2.1.3", constructor: function, selector: "", toArray: function, get: function…]0: "#"1: "b"2: "i"3: "o"4: "g"5: "r"6: "a"7: "p"8: "h"9: "y"length: 10__proto__: te[0]

为什么呢?我该如何解决这个问题?提前谢谢

2 个答案:

答案 0 :(得分:2)

将数组转换为jQuery选择器:

更改:

$(ids)

$(ids.join()) // returns $('#biography, #videogallery, ..., #resume ')

答案 1 :(得分:1)

由于ids是一个数组,您可以使用jQuery.each()

  

通用迭代器函数,可用于无缝迭代对象和数组。

使用

$.each(ids, function( index, value ) {
    var currentElem = $(value); 
    console.debug(currentElem)
    $(currentElem).css('width', vWidth).css('height', vHeight);
});