jQuery @ 运算符?

发布于 2024-12-01 12:52:48 字数 348 浏览 1 评论 0原文

所以我正在尝试恢复别人的旧代码。我对 jQuery 不太熟悉,但是 @ 运算符指定了什么?

代码是:

v_button_format = $('#' + v_form_id).find('input[@name=button_format]').val();
v_content_type = $('#' + v_form_id).find('input[@name=content_type]').val();

我正在使用 jQuery 1.3,它抛出一个“未捕获的异常:语法错误,无法识别的表达式:[@name=button_format]”错误。是否存在兼容性问题?

So I have someone else's old code that I am trying to restore. I am not too familiar with jQuery, but what does the @ operator specify?

The code is:

v_button_format = $('#' + v_form_id).find('input[@name=button_format]').val();
v_content_type = $('#' + v_form_id).find('input[@name=content_type]').val();

I am using jQuery 1.3 and it's throwing an "uncaught exception: Syntax error, unrecognized expression: [@name=button_format]" error. Is there a compatibility issue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

花期渐远 2024-12-08 12:52:48

这是一个属性选择器。

@ 是一种 XPath 主义,在 jQuery 中已不再使用。
此外,较新版本的 jQuery 要求属性值用引号引起来。

因此,你应该写

$('#' + v_form_id).find('input[name="content_type"]').val();

This is an attribute selector.

The @ is an XPath-ism that is no longer used in jQuery.
In addition, newer versions of jQuery require the attribute value to be in quotes.

Therefore, you should write

$('#' + v_form_id).find('input[name="content_type"]').val();
诗酒趁年少 2024-12-08 12:52:48

这意味着属性input[@name=button_format]表示name属性等于button_format的输入标签

但是,您需要在最新版本的 jQuery 中删除 @ 并引用 button_format。这意味着 @ 不向后兼容。 所以引用文档

注意:在 jQuery 1.3 中,[@attr] 样式选择器被删除(它们之前在 jQuery 1.2 中已被弃用)。只需从选择器中删除“@”符号即可使其再次工作。

That means attribute. input[@name=button_format] means the input tag with the name attribute equal to button_format.

You will need to remove the @ and quote button_format in recent versions jQuery, however. This means @ is not backwards compatible. So quoth the docs.

Note: In jQuery 1.3 [@attr] style selectors were removed (they were previously deprecated in jQuery 1.2). Simply remove the “@” symbol from your selectors in order to make them work again.

自由如风 2024-12-08 12:52:48
 input[@name=button_format]

表示名称属性设置为“button_format”的输入字段,即:

 <input name="button_format">
 input[@name=button_format]

means the input field with the name-attribute set to 'button_format', ie:

 <input name="button_format">
携余温的黄昏 2024-12-08 12:52:48

注意:在 jQuery 1.3 [@attr] 样式选择器中被删除(它们是
之前在 jQuery 1.2 中已弃用)。只需删除“@”符号即可
从您的选择器中,以使它们再次工作。

它是一个已弃用的选择器,您必须将其从代码中删除,因为它不再受支持并且会导致错误。

Note: In jQuery 1.3 [@attr] style selectors were removed (they were
previously deprecated in jQuery 1.2). Simply remove the '@' symbol
from your selectors in order to make them work again.

it's a deprecated selector, you have to remove it from your code as it's no longer supported and will cause errors.

吹泡泡o 2024-12-08 12:52:48

这是旧的做法。

它与(并且应该更改为)相同:

$('input[name="button_format"]')

另请注意强制引号

That's the OLD way of doing it.

It is the same as (and should be changed to):

$('input[name="button_format"]')

Also note the mandatory quotes

南冥有猫 2024-12-08 12:52:48

正如其他人提到的属性。

我的 2 美分:该符号的灵感来自 XPath,它也使用 @ 表示 (XML) 属性

Attribute as others mentioned.

My 2-cents: The notation is inspired from XPath, which also denotes (XML) attributes using an @

柏拉图鍀咏恒 2024-12-08 12:52:48
input[@name=button_format]

这是旧选择器类型。如果您使用最新的 jQuery,请删除 if @
新方法是

input[name="button_format"]
input[@name=button_format]

This is old selector type.please remove if @ if you using jQuery latest
new way is

input[name="button_format"]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文