如何在 jQuery 中选择具有 name 属性的元素?

IT技术 javascript jquery
2021-02-20 22:34:36

如何name使用jQuery获取具有其属性的元素

jQuery 中的名称是否有任何内容(例如#id 和.class)?

5个回答
$('[name="ElementNameHere"]').doStuff();

jQuery 支持 CSS3 样式选择器,以及更多。

查看更多

更具体的文档页面:api.jquery.com/attribute-equals-selector
2021-05-09 22:34:36
这是世界上最好的答案。这个网站很愚蠢,因为不让我奖励它:(
2021-05-12 22:34:36

您可以使用:

jQuery('[name="' + nameAttributeValue + '"]');

但是,这将是一种选择元素的低效方式,因此最好也使用标签名称或将搜索限制为特定元素:

jQuery('div[name="' + nameAttributeValue + '"]'); // with tag name
jQuery('div[name="' + nameAttributeValue + '"]',
     document.getElementById('searcharea'));      // with a search base
选择器通常从右到左工作,这意味着不管元素如何,它仍然会先搜索名称,然后是元素。因此,您的扩展答案几乎没有肉。但是,好的答案:)
2021-04-22 22:34:36
如何按类获取元素?
2021-04-24 22:34:36
非常正确 - 更重要的是包含上下文,没有 querySelectorAll 或 getElementsByName(使用 name 属性的特殊情况)的浏览器会在 sizzle 中使用 getElementsByTagname('*') ,从而更好地使用 jQuery('#container') .find('[name=someName]') 不仅仅是 jQuery('[name=someName]') - 不过考虑到浏览器对 getElementsByName 的支持,它可能并不那么重要
2021-04-30 22:34:36
使用.classname- 示例可以在MDN 文档中找到
2021-05-08 22:34:36

取名字很简单:

$('[name=elementname]');

资源:

http://www.electrictoolbox.com/jquery-form-elements-by-name/(谷歌搜索:按名称获取元素 jQuery - 第一个结果)

jQuery("[name='test']") 

尽管您应该避免使用它,并且如果可能的话通过 ID 选择(例如#myId),因为它具有更好的性能,因为它调用了本机getElementById.

是的,但这并不总是可能的......正如从问题中推断出来的,OP 已经知道如何通过 ID 或类名进行选择。
2021-05-08 22:34:36
我只想指出使用这种选择器会更重。
2021-05-10 22:34:36

你总能做到 $('input[name="somename"]')

你可以,但你会错过selecttextarea元素。
2021-04-26 22:34:36