jquery 属性选择器找不到属性 [英] attributes not found by jquery attribute selector

查看:38
本文介绍了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.

这里是公开的门票:

显然,这些错误之间的共同点是 jQuery 将您指定的选择器字符串与完整的 URL 进行比较,而不是 HTML 中定义的实际 action/src 属性.这解释了为什么 attributeEndsWithattributeContains 选择器在这种情况下确实有效.

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 属性选择器找不到属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆