对类进行Jquery检查,如果有类,请选中复选框

时间:2017-10-13 15:32:05

标签: javascript jquery html

我试图使用Jquery运行一个简单的函数。这是函数的伪代码 -

"在页面加载时,检查班级名称"是否活跃。"  如果存在类似的类,请选中相应的复选框。  否则继续。"挺直的。

我们要定位的代码的HTML:

<li class="inactive" aria-selected="false">
        <input class="checkBox" type="checkbox" name="checkLink" value="Accessories">
            Accessories 1
    </li><!--box example won't be marked "checked" on page load-->



 <li class="active" aria-selected="false">
            <input class="checkBox" type="checkbox" name="checkLink" value="Accessories">
                Accessories 2
</li><!--box example will be marked "checked" on page load-->

我写的Jquery创建了交互:

  $(document).ready(function(){
    alert("RUNNIN");

        if ("li").hasClass("active"){
             $('.checkBox').prop('checked', true);
        };

    alert("CODE RAN");
});

警报用于测试代码中的所有内容。它们目前甚至在开始或结束时都没有加载。但是,如果我完全删除条件语句,它们会运行。

检查google开发工具,它检测到我的&#34;语法错误,如果&#34;线。截图添加在这里: Follow link here to see screenshot

猜猜我还无法嵌入图片。错误行在控制台中说明了这一点 &#34;意外的令牌。在第17行和第34行;这是if(&#34; li&#34;)。hasClass line。

所以它并不期待。但是我不确定那里的语法有什么问题。删除它导致它不会期望{等等,直到删除整行。

我很难找到错误。任何帮助将不胜感激。

5 个答案:

答案 0 :(得分:2)

您可以使用以下内容检查具有类li的所有active元素,然后查找类checkBox的复选框元素,然后进行检查。

$("li.active").find('.checkBox').prop('checked', true);

答案 1 :(得分:0)

试试这个

&#13;
&#13;
$(document).ready(function() {
  alert("RUNNIN");
  $("li.active").find('.checkBox').prop('checked', true);


  alert("CODE RAN");

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>


<li class="inactive" aria-selected="false">
  <input class="checkBox" type="checkbox" name="checkLink" value="Accessories"> Accessories 1</li>
<!--box example won't be marked "checked" on page load-->
<li class="active" aria-selected="false">
  <input class="checkBox" type="checkbox" name="checkLink" value="Accessories"> Accessories 2
</li>
&#13;
&#13;
&#13;

答案 2 :(得分:-1)

投票前的代码

(文档)$。就绪(函数(){         警报( “RUNNIN”);

        if ($("li").hasClass("active")){
             $('.checkBox').prop('checked', true);
             //alert("asas");
        }

    alert("CODE RAN");
});

答案 3 :(得分:-1)

您也可以尝试:

$(document).ready(function(){
    $(".active > input:checkbox").prop('checked', true);
});

答案 4 :(得分:-1)

完全同意@Martijn但......

你忘记了(和a)和$

// You have this:
if ("li").hasClass("active"){
// which should be
if( $("li").hasClass("active") ){
  ^ ^------------------------ ^

此外,您可以更轻松地完成此任务:

$('.checkBox').prop('checked', $("li").hasClass("active"));