【问题标题】:jQuery *= Selector not working in IE8jQuery *= 选择器在 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 属性不是布尔属性吗???

标签: jquery internet-explorer jquery-selectors


【解决方案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 现在可以使用了!谢谢你的帮助。我最初报告说这不起作用,但这是一个缓存问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-04
  • 2012-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多