jquery 属性选择器找不到属性

attributes not found by jquery attribute selector(jquery 属性选择器找不到属性)
本文介绍了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="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 属性选择器找不到属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

PhantomJS and clicking a form button(PhantomJS 并单击表单按钮)
Clicking #39;OK#39; on alert or confirm dialog through jquery/javascript?(在警报上单击“确定或通过 jquery/javascript 确认对话框?)
Parsing XML with namespaces using jQuery $().find(使用 jQuery $().find 解析带有命名空间的 XML)
Get my current address using javascript(使用 javascript 获取我当前的地址)
the server responded with a status of 429 (Too Many Requests) intlTelInput.js(服务器响应状态为 429 (Too Many Requests) intlTelInput.js)
Geolocation not working on Safari 5.x on Windows 7/XP(地理定位在 Windows 7/XP 上的 Safari 5.x 上不起作用)