我试图使用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。
所以它并不期待。但是我不确定那里的语法有什么问题。删除它导致它不会期望{等等,直到删除整行。
我很难找到错误。任何帮助将不胜感激。
答案 0 :(得分:2)
您可以使用以下内容检查具有类li
的所有active
元素,然后查找类checkBox
的复选框元素,然后进行检查。
$("li.active").find('.checkBox').prop('checked', true);
答案 1 :(得分:0)
试试这个
$(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;
答案 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"));