jQuery *= 选择器在 IE8 中不起作用

Posted

技术标签:

【中文标题】jQuery *= 选择器在 IE8 中不起作用【英文标题】:jQuery *= Selector not working in IE8 【发布时间】:2013-03-08 14:00:35 【问题描述】:

由于某种原因,我无法让它在 IE8 下工作。在 Chrome 中运行良好。

这是我正在寻找的元素:

<input type="text" captures_name="default" name="firstname" required="S01 S02"/>

这是我正在使用的 jQuery (1.9.1):

$("input[captures_name='default'][name='firstname']") //Match

$("input[captures_name='default'][required*='S01']") //Does Not Match

$("input[captures_name='default'][required*='S02']") //Does Not Match

$("input[captures_name='default'][required='S01 S02']") //Does Not Match

我希望能够根据required 属性中的单个值找到元素。我确定我只是在看东西....有人可以借我一双眼睛吗?

提前感谢您的帮助

【问题讨论】:

html5 中的required 属性不是布尔属性吗??? 【参考方案1】:

根据 HTML5 的 W3C 规范,required 属性是一个布尔属性,意味着它是真或假。

required = "required" 或 ""(空字符串)或空。

指定该元素是表单提交的必需部分。

所以你可以这样设置:

<input type="text" name="firstname" required />
<input type="text" name="firstname" required="required" />

它实际上不能保存任何其他值,即使 jQuery 可能能够使用 attr() 获取这些值。检查或设置它的正确方法是.prop('required').prop('required', true) 等。

换句话说,您的选择器基于无效标记,这不是一个好主意。

【讨论】:

我将 required 更改为 required_for 现在可以使用了!谢谢你的帮助。我最初报告说这不起作用,但这是一个缓存问题。

以上是关于jQuery *= 选择器在 IE8 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 jQuery :not() 选择器在 CSS 中不起作用?

为啥我的 jQuery :not() 选择器在 CSS 中不起作用?

为啥 jQuery UI 日期选择器在 jQuery 对话框模式中不起作用?

jQuery $(this) 选择器在函数中不起作用

jQuery 属性选择器在 Internet Explorer 中不起作用

jquery 1.8 类选择器在 Firefox 中不起作用