首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JQuery仅选择所选div的父级

使用JQuery仅选择所选div的父级
EN

Stack Overflow用户
提问于 2016-01-26 03:09:28
回答 3查看 50关注 0票数 0

我试图只选择一个div,确切地说是所选div的父级,但没有成功……我的代码选择了所选div之上的所有div,这是错误的,我如何才能正确地这样做呢?我想实现一个简单的搜索行为...

代码语言:javascript
复制
<script>**$(".emoticons-row").hide();**</script>
<div class="emoticons-row">
    <div class="emoticons-col emoticon"><img title="Smile" src="./images/smile.png" alt="Smile"></div>
    <div class="emoticons-col emoticon">:)</div>
    <div class="emoticons-col desc">Smile, Smiling</div>
    <script>**$(".desc:contains('Sorriso')").parent().show();**</script>
    <div class="emoticons-col action"><input type="button" value="copy" /></div>
</div>
<div class="emoticons-row">
    <div class="emoticons-col emoticon"><img title="Sad" src="./images/sad.png" alt="Sad"></div>
    <div class="emoticons-col emoticon">:(</div>
    <div class="emoticons-col desc">Sad</div>
    <div class="emoticons-col action"><input type="button" value="copy" /></div>
</div>
EN

回答 3

Stack Overflow用户

发布于 2016-01-26 03:32:58

代码语言:javascript
复制
$(document).ready(function() {
  $(".emoticons-row").hide();
  $(".desc:contains('Smile')").parents("div.emoticons-row").show();
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="emoticons-row">
  <div class="emoticons-col emoticon">
    <img title="Smile" src="./images/smile.png" alt="Smile">
  </div>
  <div class="emoticons-col emoticon">:)</div>
  <div class="emoticons-col desc">Smile, Smiling</div>
  <div class="emoticons-col action">
    <input type="button" value="copy" />
  </div>
</div>
<div class="emoticons-row">
  <div class="emoticons-col emoticon">
    <img title="Sad" src="./images/sad.png" alt="Sad">
  </div>
  <div class="emoticons-col emoticon">:(</div>
  <div class="emoticons-col desc">Sad</div>
  <div class="emoticons-col action">
    <input type="button" value="copy" />
  </div>
</div>

在这里检查这个小提琴:Fiddle

您可以使用.parents('div.emoticons-row')方法在某个div的所有父级中查找特定的父级。

票数 1
EN

Stack Overflow用户

发布于 2016-01-26 03:30:38

向该子元素添加一个click处理程序,并以其父元素为目标:

代码语言:javascript
复制
$( ".emoticons-col" ).on( "click", function() {
 var target = $(this).parent(); //This is the ref to the parent of the row you clicked
 target.hide(); //hide the parent and it's children
});

无论你点击哪个孩子,它总是会将父div分配给一个“目标”变量,你可以用它做任何你需要的事情。本例中的Target变量是对父div的引用。如果单击任何子项,它将在单击时隐藏父项及其子项。

票数 0
EN

Stack Overflow用户

发布于 2016-01-26 03:31:01

正如Casey所提到的,您可以使用jQuery的closest方法来完成此操作:

代码语言:javascript
复制
$(".desc:contains('Smile')").closest(".emoticons-row");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35000406

复制
相关文章

相似问题

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