javascript - 使用从 href 获得的 ID 数组来定位元素

标签 javascript jquery arrays

我遇到了以下代码无法按预期工作的问题。我试图通过将 anchor 标记 href 保存到数组中来从内容表中获取页面上的 ID 数组。该数组的构造符合我的预期,但是当我尝试将其用作目标元素时,没有任何反应。我怀疑这是因为数组被转换为字符串(从 console.log 中也可以看出),但我仍然不太明白为什么它不起作用。我是否必须将数组转换为对象,如果是,如何完成?我在任何地方都找不到任何对我有意义的东西。

编辑:我必须这样做(最好至少),因为内容表是动态创建的(始终不是相同的元素),而内容中的元素指向的表应相应地设置样式。

var elements = [];
$(".bb").each(function() {
  elements.push($(this).attr("href"));
});
console.log(elements);

$(elements).each(function() {
  $(this).css("background", "red");
});

// This works for a single elment, however
var el = $(".cc").attr("href");
$(el).css("background", "green");
 body {
  padding-bottom: 100px;
 }
div {
  height: 50px;
  margin-bottom: 10px;
  background: #d3fcff;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="aa"></div>
<div id="xx"></div>

<a class="bb" href="#aa">target #aa</a>
<a class="bb" href="#xx">target #xx</a>

<p>Not using an array and targeting a single element works however</p>
<div id="zz"></div>
<a class="cc" href="#zz">target #zz</a>

最佳答案

var elements = [];
$(".bb").each(function() {
  elements.push($(this).attr("href"));
});
console.log(elements);



$.each(elements, function(i,val) {


  $(val).css("background", "red");
});
div {
  height: 50px;
  margin-bottom: 10px;
  background:#fff9d3;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="aa"></div>
<div id="xx"></div>

<a class="bb" href="#aa">target #aa</a>
<a class="bb" href="#xx">target #xx</a>

<p>Not using an array and targeting a single element works however</p>
<div id="zz"></div>
<a class="cc" href="#zz">target #zz</a>

因为你想得到你创建的数组的元素,而不是dom元素/对象,你可以使用:

$.each(elements, function(i,val) {


  $(val).css("background", "red");
});

通过 $(val) - 您创建 jQuery 对象,您的脚本将运行。

通知差异:http://api.jquery.com/jquery.each/http://api.jquery.com/each/

关于javascript - 使用从 href 获得的 ID 数组来定位元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47853586/

相关文章:

java - GWT - JavaScript 调试器的阻力

javascript - 加深对 map function() 和语法的理解

javascript - 获取页面事件,标签关闭,失去焦点?

javascript - 使用 jQuery 追加到表时出现 NOT_FOUND_ERR

java - 使用类构造函数和另一个数组初始化一个数组

python - 如何在父字符串列表中查找子字符串列表对应的索引

javascript - jPlayer如何设置宽高

javascript替换第一个/最后一个字母并将中间文本包含在标签中

javascript - 在 $.getJSON 中发送

arrays - 检索快照时,如何使用数组中的最后一个值作为 .child() 的路径?