如何在jquery

时间:2015-08-03 08:27:13

标签: jquery

数组有点像这样:

[[Object { button={...}}, 
  Object { input={...}}, 
  Object { checkbox={...}}, 
  Object { textarea={...}}],
 [Object { textarea={...}}]
]

在花括号中我设置了一些属性,如颜色,值,类型等。
我想要的是获取数组的每个对象并检查属性,如对象的类型,然后调用函数来执行更多的事情。就像在PHP中一样,我们使用:

foreach($a as $b){
 // and then do something here ..
}; 

请帮助我,希望每个人都能理解我想说的话。



// var i is the counter for page numbers   
function pagination(i) {
  alert(i);
  i--;
  //page is array 

  var result = page;
  //console.log(result[i]);
  var $currentElem;
  $(result[i]).each(function() {

    currentElem = $(this);
    console.log(currentElem);

  });
}




2 个答案:

答案 0 :(得分:3)

当你循环遍历jQuery集合的元素时,使用

.each。循环遍历数组或对象的内容。使用$.each()

$.each(result[i], function(n, currentElem) {
    console.log(currentElem);
});

除非$(this)是DOM元素,否则不应使用this。如果它只是一个Javascript对象,则将其包装在jQuery对象中是不必要的。

您可以使用常规的Javascript variable.propertyname语法访问这些属性,例如currentElem.buttoncurrentElem.button.color。要将元素附加到视图中,您可以执行以下操作:

var button = currentElem.button;
$("<button>", {
    value: button.value,
    name: button.name,
    css: {
        color: button.color,
        width: button.width,
        backgroundColor: button.backgroundcolor
    }
}).appendTo($("#buttonDiv");

答案 1 :(得分:2)

要迭代,您可以使用for(in)或jquery $ .each。

for(var i in array) {
    console.log(array[i]);
}