【问题标题】:Function jquery and array() [closed]函数 jquery 和 array() [关闭]
【发布时间】:2018-02-28 06:14:53
【问题描述】:
$.each(["a","b","c"],function(value){
    $("\"" + value + "\"").remove();
})

大家好。为什么我不能使这段代码工作?我哪里错了?谢谢。

【问题讨论】:

  • 有什么问题?你有错误吗? $("\"" + value + "\"") 看起来很奇怪。
  • 为了让我们知道哪里出了问题,如果你解释它应该做什么会很有帮助。我们毫无头绪。 $('"a"') 也不是有效的选择器
  • 实际上,问题在于我如何将字符串传递给选择器:双引号错误,因为不需要已经包含字符串的向量!我正在创建一种在给定事件中从 DOM 中删除元素的方法。因为我太多了,所以我想创建一个数组然后对其进行迭代……但我做不到。附言。这不是我第一次这样做,但我从来没有遇到过错误(当然)如此徒劳!谢谢@Blundering Philosopher ...对不起我的英语真的很糟糕。

标签: javascript jquery html arrays


【解决方案1】:

回调函数中的第一个参数其实就是数组的index。您应该使用第二个参数,数组的value

$.each(["a", "b", "c"], function(index, value) {
    // ...
})

此外,在该回调函数中返回的 value 已经是一个字符串(因为原始数组是一个字符串数组),因此要找到与 value 匹配的所有 html 元素(如selector),你可以像这样使用普通的value

$(value) // ...

因此,您可以像这样将您的语句(以及 .remove 函数)放在一起:

$.each(["a", "b", "c"], function(index, value) {
    $(value).remove();
});

注意:"b""c" 不是 html 元素的有效选择器 - 也许您将它们用作占位符?

【讨论】:

  • 不,不……那些选择器只是一个例子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-26
  • 2012-02-22
  • 1970-01-01
  • 2013-03-23
  • 2022-01-19
  • 2016-11-15
  • 1970-01-01
相关资源
最近更新 更多