问题描述
我需要重新提出我的老问题,我可能不应该在凌晨 1 点问过它:P
I need to reask my old question, I probably shouldnt have asked it at 1am :P
使用 jquery 的属性选择器似乎找不到某些属性:
It seems that some attributes are not being found using jquery's attribute selector:
$("*[some=value]");
到目前为止,我似乎无法使用表单的 action 属性和 img 的 src 属性.是否有某个属性列表不起作用,以便我可以为它们编写自定义选择器?
So far it seems that i cant use form's action attribute, and img's src attribute. Is there a list somewhere of attributes that do not work so i can write custom selectors for them?
再次感谢!
似乎没有人相信某些选择器不能按预期工作.看这个例子:在 this site (上面有 jquery 1.3 for firebugging)有一个看起来像这个:
No one seems to believe that some selectors do not work as expected. Look at this example: On this site (which has jquery 1.3 on it for firebugging) there is a form that looks like this:
<form style="display: inline;" method="get" action="list">
(它围绕搜索当前下载"下拉菜单).如果您打开 firebug 并尝试使用此选择器:
(its around the 'search current downloads' dropdown). If you open firebug and try this selector:
$("form[action=list]");
您将无法选择表单.action 属性没有什么特别之处.该页面上徽标图像的 src 也是如此:
you will NOT be able to select the form. There is nothing special about the action attribute. Same goes for the src of the logo image on that page:
<img alt="Logo" src="/p/aost/logo?logo_id=1238551994"/>
不起作用的选择器是:
$("img[src=/p/aost/logo?logo_id=1238551994");
当然,我可以进行通配符匹配,这不是我想要的.
Sure, i can do wildcard matches, that is not what i am after.
推荐答案
没有不受支持的属性的列表",因为不应该有;这是 jQuery 中的一个错误.
There is no "list" of unsupported attributes because there shouldn't be; this is a bug in jQuery.
这里是公开的门票:
- 无法使用action属性选择表单
- attr "action" 的表单和 Selectors 的属性过滤器
- 属性src"的选择器与 1.2.6 中的工作方式不同
显然,这些错误之间的共同点是 jQuery 将您指定的选择器字符串与完整的 URL 进行比较,而不是 HTML 中定义的实际 action/src 属性.这解释了为什么 attributeEndsWith 或 attributeContains 选择器在这种情况下确实有效.
Apparently the common denominator between the bugs is that jQuery is comparing the selector string you specify against the full URL as opposed to the actual action/src attribute as it is defined in the HTML. This explains why the attributeEndsWith or the attributeContains selectors do work in this case.
我建议只为表单/图像提供一个类/ID 并完成它.
I would recommend just giving the form/image a class/ID and getting it over with.
这篇关于jquery 属性选择器找不到属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!