jquery - jquery closest doesn't work
问题描述
Here, why jquery closest
isn't working ? I've tried using find
, next
but doesn't work. I want to add html
only in closest class
of li
which contains children
ul
.
$(document).ready(function(){
if ($('li').children("ul").length) {
$(this).closest(".submenu").html('+');
}
})
*{
margin:0px;
padding:0px;
}
ul li{
list-style:none;
float:left;
margin-right:10px;
}
ul li ul li{
float:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<head>
</head>
<body>
<ul>
<li>General<span class="submenu"></span></li>
<li>Extra<span class="submenu"></span></li>
<li>Sport<span class="submenu"></span>
<ul>
<li>
Volleyball
</li>
<li>
Football
</li>
</ul>
</li>
</ul>
</body>
</html>
解决方案
You need to find the length of ul
which is inside the li
.
$('.submenu').parent().each(function(){
if ($(this).children("ul").length) {
$(this).find('.submenu').html('+');
}
})
*{
margin:0px;
padding:0px;
}
ul li{
list-style:none;
float:left;
margin-right:10px;
}
ul li ul li{
float:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<head>
</head>
<body>
<ul>
<li>General<span class="submenu"></span></li>
<li>Extra<span class="submenu"></span></li>
<li>Sport<span class="submenu"></span>
<ul>
<li>
Volleyball
</li>
<li>
Football
</li>
</ul>
</li>
</ul>
</body>
</html>
推荐阅读
- javascript - 什么时候适合在 REACT 中使用构造函数?
- tcp - NodeMCU 向所有客户端广播
- php - Laravel 中的文件上传
- javascript - Javascript - 在默认解析之前将 EXTRA LARGE 数字转换为 JSON 中的字符串
- github - 从 github 存储库加载时 Gradle 独立插件未知属性
- javascript - 将函数传递给反应类
- sql - 使用另一个表中的值更新一个表(该表有 3 个键,而在另一个匹配表中仅找到 2 个键)
- sql - 按/排序分区是否暗示查询中的排序?
- c - luajit ffi - 如何在 ffi/luajit 中编写指向 ac 函数的指针
- javascript - 如何在 WebGL 中使用键盘更改对象颜色?