我正在为ASP.Net网站开发一些基本的表单验证样式。 我需要选择所有可见的span元素,并将css样式添加到另一个元素。 (只是为了表明哪些输入字段无效。)
下面的代码就像FF和Safari中的魅力一样,但在IE中失败了。我已将问题缩小到:可见选择器。这是jQuery代码。
重要提示:生产网站正在运行jQuery 1.3.1 1.3.2 release notes
中对:visible选择器进行了更改$('span.inputError:visible').each(function() {
$(this).parent().parent().prev('td').children('label').children('span').css('color','red');
});
以下是它的目标呈现的HTML:
<table width="100%" cellspacing="0" cellpadding="3" border="0">
<tbody>
<tr>
<td valign="top" style="text-align: right;" class="address_labels">
<label><span>*</span> First Name: </label>
</td>
<td>
<span id="ctl00_CMain_txtFirstName_wrapper"><input type="text" style="width: 190px;" invalidstyle="inputError" class="radEnabledCss Input" name="ctl00_CMain_txtFirstName_text" id="ctl00_CMain_txtFirstName_text" size="20" value=" zdogg"><input type="text" value=" zdogg" style="border: 0pt none ; margin: -18px 0pt 0pt; padding: 0pt; overflow: hidden; visibility: hidden; width: 1px; height: 1px;" name="ctl00$CMain$txtFirstName" id="ctl00_CMain_txtFirstName"><input type="hidden" name="ctl00_CMain_txtFirstName_ClientState" id="ctl00_CMain_txtFirstName_ClientState" autocomplete="off"></span>
<div>
<span style="color: Red; display: none;" class="inputError" id="ctl00_CMain_valFirstName">First name is required</span>
</div>
</td>
</tr>
</tbody></table>
答案 0 :(得分:0)
我把你的代码放在:http://jsfiddle.net/BZRWF/1/ 使用jquery 1.2.6,它似乎工作(我添加了一个按钮来单击以实例化事件)。我在兼容模式下使用IE8测试没有问题。
我也在1.3.2和1.4.2中进行了测试,它也适用。