【问题标题】:Array in for-loop (with jQuery)for循环中的数组(使用jQuery)
【发布时间】:2014-04-02 22:17:42
【问题描述】:

我试图将我的 Array Entires 放入一个 for-loop 中的 jQuery-Code 中。

var list = ["name1", "name2" ];

for (var i = 0; i < list.length; i++)

{

$('ul.list li a[href*=(ary[i])]').parent().hide();

}

我卡住了,需要帮助,在此先感谢!

顺便说一句:此代码适用于 Greasemonkey 用户脚本 (Firefox)。

$('ul.list li a[href*="name"]').parent().hide();

工作得很好。但是有几百个“名字”我不想像这样一直重复这句话

$('ul.list li a[href*="name1"]').parent().hide();
$('ul.list li a[href*="name2"]').parent().hide();
[...]
$('ul.list li a[href*="name492"]').parent().hide();

编辑:为避免误解,实际上数组不是 ["name1, "name2"] 而是随机的,例如 ["red", "banana", "pacific"]

【问题讨论】:

  • 您的实时代码中是否存在这些拼写错误? list.lenght 应该是 list.length?您的 javascript 控制台中是否有任何错误? [href*=(ary[i])] 不起作用 = 必须是 [href="' + list[i] + '"]
  • 我的实时代码中的长度是的。但感谢href更正。 a[href*="' + list[i] + '"] 工作正常!非常感谢!

标签: javascript jquery arrays for-loop


【解决方案1】:
var list = ["name1", "name2" ];

$.each(list, function(index, name) {
    $('ul.list li a[href*="'+name+'"]').parent().hide();
}):

【讨论】:

    【解决方案2】:

    不为变量名评估字符串文字。您需要将值与字符串连接才能以这种方式使用它:

    $('ul.list li a[href*=' + list[i] + ']').parent().hide();
    

    【讨论】:

    • @cale_b:谢谢,没发现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多