为什么我的FOR循环不能在这里工作?

时间:2017-06-30 08:25:11

标签: javascript jquery jquery-ui animation

这是我的代码部分,我创建了一个对象,现在我想隐藏对象中的所有元素,因为我正在为网页制作动画。如何实现这一点,请帮帮我?!

var rightPart = $('.anotherOne');
var numberOfLines = { 
    first : $('#caption_1'),
    second : $('#caption_2'),
    third : $('#caption_3')
 }
for (var key in numberOfLines) {
    hide(numberOfLines);
}

3 个答案:

答案 0 :(得分:3)

<footer>循环用于迭代对象键,使用For-in访问键的属性

Object[key]

答案 1 :(得分:1)

我建议您使用jquery each。它迭代一个对象,但没有像for-in那样的任何副作用。通常,使用for-in,您必须考虑对象自己的属性。 (见what is an “OWN” property in javascript

$.each(numberOfLines, function (line) {
    line.hide();
});

答案 2 :(得分:1)

你只需要在字典中只推送id值,而不是在针对键的值中推送jquery代码。

我把id的值放在字典中。在for循环中,只迭代id的值,并且通常用于引用选择器ID来引用corressponding元素并且它可以工作。第一行中的$(&#39;#caption_1&#39;)也是如此。

var rightPart = $('.anotherOne');
    var numberOfLines = {
      first: 'caption_1',
      second: 'caption_2',
      third: 'caption_3'
    };
    for(var key in numberOfLines) {
      $('#'+numberOfLines[key]).hide(); 
    }