首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery .has(“标记”)筛选器显示没有元素的标记具有它们

问Jquery .has(“标记”)筛选器显示没有元素的标记具有它们
EN

Stack Overflow用户
提问于 2017-08-11 07:35:19
回答 2查看 768关注 0票数 1

我试图通过Jquery过滤包含li标记的ul标记。Jquery显示没有元素的标记具有元素。

​

​

​

代码语言:javascript
复制
$(".mobile_menu>ul>li").click(function(event) {
		/* Act on the event */
		console.log("clicked");
		if($(this).has(".ul")){
			console.log("it has ul");
			console.log($(this));
		}
	});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mobile_menu">
  <div class="title">Title</div>
  <ul>
    <li>1</li>
    <li>2
      <ul class="none">
        <li>1</li>
        <li>2</li>
      </ul>
    </li>
    <li>3</li>
  </ul>
</div>

​

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-11 07:40:02

你快拿到了,用$(this).has("ul").length > 0

首先,从.has(".ul")中删除点,因为ul不是class。

<- credit to T.J.Crowder ->

您甚至可以使它更短一点,并使用$(this).has("ul").length

has“返回一个jQuery对象,而不是标志。jQuery对象总是真实的。”

​

代码语言:javascript
复制
$(".mobile_menu>ul>li").click(function(event) {
  /* Act on the event */
  console.log("clicked");
  if ($(this).has("ul").length > 0) {
    console.log("it has ul");
    console.log($(this));
  }
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mobile_menu">
  <div class="title">Title</div>
  <ul>
    <li>1</li>
    <li>2
      <ul class="none">
        <li>1</li>
        <li>2</li>
      </ul>
    </li>
    <li>3</li>
  </ul>
</div>

​

票数 2
EN

Stack Overflow用户

发布于 2017-08-11 07:39:33

您可以使用find和length来检查当前li是否有ul

​

代码语言:javascript
复制
$(".mobile_menu>ul>li").click(function(event) {
  /* Act on the event */
  console.log("clicked");
  if ($(this).find("ul.none").length) {
    console.log("it has ul");
  }
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mobile_menu">
  <div class="title">Title</div>
  <ul>
    <li>1</li>
    <li>2
      <ul class="none">
        <li>1</li>
        <li>2</li>
      </ul>
    </li>
    <li>3</li>
  </ul>
</div>

​

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45629475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档