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

时间:2013-03-19 18:08:16

标签: jquery internet-explorer jquery-selectors

出于某种原因,我无法在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属性中的单个值找到该元素。我确定我只是在寻找一些东西......有人可以借给我一双眼睛吗?

提前感谢您的帮助

1 个答案:

答案 0 :(得分:3)

根据HTML5的W3C规范,必需属性是布尔属性,这意味着它是真或假。

  

required =“required”或“”(空字符串)或为空。

     

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

所以你可以设置它:

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

即使jQuery可能能够使用attr()获取此类值,它也无法保存任何其他值。检查或设置它的正确方法是.prop('required').prop('required', true)等。

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