使用jQuery,当名称和值已知时,如何定位元素

前端之家收集整理的这篇文章主要介绍了使用jQuery,当名称和值已知时,如何定位元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
感谢您阅读

我以为可以使用find(),但是不能使其工作.我知道我可以添加ID或类名,但想知道当前的标记.

谢谢

这是HTML

<input name="keywordCheckBox" type="checkBox" value="S" />
<input name="keywordCheckBox" type="checkBox" value="C" />
<input name="keywordCheckBox" type="checkBox" value="A" />

和js

<script language="Javascript" src="javascript/jquery-1.2.6.min.js"></script>
<script type="text/JavaScript">

 $(function(){
  $('[name="keywordCheckBox"]').bind("click",function() {
    if($(this).attr("checked") == true) {
     switch(this.value) {
      case "A":
       var $_this = $(this) ;
       $('[name="keywordCheckBox"]').each(function() {
        if($(this).val() != $($_this).val()) { $(this).attr("checked",false); }
       });
       break ;
      default:
 DOESN'T WORK --> $('[name="keywordCheckBox"]').find('[value="A"]').attr("checked",false);}
      } // END Switch
    } // END If
  }); // End BIND
 }); // End eventlistener
 </script>

解决方法

您应该可以链接属性选择器:
$('input[name="keywordCheckBox"][value="A"]').attr("checked",false);

对于名称为keywordCheckBox的输入和A的值,将检查为false.

$('input[name="keywordCheckBox"][value!="A"]').attr("checked",false);

对于值为不为A的名称为keywordCheckBox的输入,将设置为false.

编辑

我刚刚在Firefox / Macintosh中使用最新的jQuery测试了以下内容.工作正常.你使用什么版本的jQuery?

$(document).ready( function() {
    $('input[name=keywordCheckBox]').bind( 'click',function() {
       if (this.checked) {
          if (this.value == 'A') {              
             $('input[name="keywordCheckBox"][value!="A"]')
                .attr("checked",false);
          }
          else {
             $('input[name="keywordCheckBox"][value="A"]')
                .attr("checked",false);
          }
       }
    });
});

猜你在找的jQuery相关文章