2010-08-03 107 views
0

我正在研究ASP.Net网站的一些基本表单验证样式。 我需要选择所有可见的span元素,并将css样式添加到另一个元素。 (只是为了指示哪些输入字段无效):在Internet Explorer中不可用的可见选择器

下面的代码在FF和Safari中的作用就像一个魅力,但在IE中失败。我将问题缩小到:可见选择器。这里是jQuery代码。

重要提示:生产现场正在运行的jQuery 1.3.1有对所做的更改:可见选择在1.3.2 release notes

$('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

看到我的“无答案”我想我们需要更多的信息在这里。 – 2010-08-03 18:16:32

回答

0

我把你的代码放在:http://jsfiddle.net/BZRWF/1/ 使用jquery 1.2.6,它似乎工作(我添加了一个按钮来点击实例化事件)。我在兼容模式下使用IE8进行测试,没有任何问题。

我也在1.3.2和1.4.2中测试过,它在那里也能正常工作。

相关问题