attributes not found by jquery attribute selector(jquery 属性选择器找不到属性)
问题描述
我需要重新提出我的老问题,我可能不应该在凌晨 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="TG9nbw==" src="L3AvYW9zdC9sb2dvP2xvZ29faWQ9MTIzODU1MTk5NA=="/>
不起作用的选择器是:
$("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 属性选择器找不到属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:jquery 属性选择器找不到属性
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- Flexslider 箭头未正确显示 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- Fetch API 如何获取响应体? 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- 400或500级别的HTTP响应 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01