JQuery 选择器中的数组变量
Array variable in JQuery Selector
我有这个html:
<a href="page1.html" class="menuitem">Page 1</a>
<a href="page2.html" class="menuitem">Page 2</a>
<a href="page3.html" class="menuitem">Page 3</a>
<a href="page4.html" class="menuitem">Page 4</a>
在一个单独的 .js 文件中,我添加了一些 jquery 代码:
var menuArray = $("a.menuitem");
我尝试 运行 来自浏览器控制台的命令:
$(menuArray[2] + "[href*='page2.html']")
它给我关于无法识别的表达式的任何错误...
但是,这有效:
$("a.menuitem[href*='page2.html']")
将数组变量传递给 jquery 选择器的正确方法是什么?谢谢!
如果您想要所有链接值,请使用 map :
var allMenuItem = $('a.menuitem').map( function() {
return $(this).attr('href');
}).get();
使用 .is()
过滤方法根据选择器范围检查当前匹配的元素。
$(menuArray[1]).is("[href*='page2.html']");
var menuArray = $("a.menuitem");
console.log($(menuArray[1]).is("[href*='page2.html']"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="page1.html" class="menuitem">Page 1</a>
<a href="page2.html" class="menuitem">Page 2</a>
<a href="page3.html" class="menuitem">Page 3</a>
<a href="page4.html" class="menuitem">Page 4</a>
我有这个html:
<a href="page1.html" class="menuitem">Page 1</a>
<a href="page2.html" class="menuitem">Page 2</a>
<a href="page3.html" class="menuitem">Page 3</a>
<a href="page4.html" class="menuitem">Page 4</a>
在一个单独的 .js 文件中,我添加了一些 jquery 代码:
var menuArray = $("a.menuitem");
我尝试 运行 来自浏览器控制台的命令:
$(menuArray[2] + "[href*='page2.html']")
它给我关于无法识别的表达式的任何错误...
但是,这有效:
$("a.menuitem[href*='page2.html']")
将数组变量传递给 jquery 选择器的正确方法是什么?谢谢!
如果您想要所有链接值,请使用 map :
var allMenuItem = $('a.menuitem').map( function() {
return $(this).attr('href');
}).get();
使用 .is()
过滤方法根据选择器范围检查当前匹配的元素。
$(menuArray[1]).is("[href*='page2.html']");
var menuArray = $("a.menuitem");
console.log($(menuArray[1]).is("[href*='page2.html']"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="page1.html" class="menuitem">Page 1</a>
<a href="page2.html" class="menuitem">Page 2</a>
<a href="page3.html" class="menuitem">Page 3</a>
<a href="page4.html" class="menuitem">Page 4</a>