如何在jQuery元素选择器中获取多个名称?

Abu*_*ude 14 jquery

我想在多个页面上应用我的脚本,因此var应该读取3个名称,而不仅仅是一个; 这就是它现在的样子:

var first;
$(document).ready(function() {
  first = $('[name=body]').val();
});
Run Code Online (Sandbox Code Playgroud)

需要做一个或"||"或者和"&&"一些名称可能是'body','body2'和'body3',取决于它是什么页面.请帮忙

谢谢大家,

Dou*_*las 22

您可以在选择器中列出多个项目,如下所示:

var body;
$(function() {
   body = $('[name=body], [name=body2], [name=body3]').val();
});
Run Code Online (Sandbox Code Playgroud)


Dav*_*mas 10

为什么不使用attribute-starts-with selector(attribute^="value")来覆盖所有可能性:

var first;
$(document).ready(function() {
    first = $('[name^="body"]').val();
});
Run Code Online (Sandbox Code Playgroud)

请记住,这将搜索该特定属性/值的所有元素; 所以最好限制浏览器必须完成的工作量,例如通过识别特定的元素类型:

first = $('input[name^="body"]');
Run Code Online (Sandbox Code Playgroud)

此外,当选择器返回一个数组时,val()它将从选择器返回的第一个匹配元素中获取,它不会返回所有匹配元素的值数组.

参考文献: