首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery获取单击类的元素,而不是单击该类的每个元素。

jQuery获取单击类的元素,而不是单击该类的每个元素。
EN

Stack Overflow用户
提问于 2015-04-22 04:14:24
回答 6查看 98关注 0票数 1

这是我的HTML:

代码语言:javascript
复制
<div class="content content-1">
    <div class="row"></div>
    <a href="javascript:void(0)" class="new-content">new content </a>
</div>
<div class="content content-2">
    <div class="row"></div>
    <a href="javascript:void(0)" class="new-content">new content </a>
</div>
<div class="content content-3">
    <div class="row"></div>
    <a href="javascript:void(0)" class="new-content">new content </a>
</div>

如何获得单击类的元素,而不是单击的类中的每个元素?

以下是我的jquery:

代码语言:javascript
复制
$('.new-content').click(function() {
    $(this).closest('.content').find('.row').show(); 
}

但是,这将选择所有的.row,而不是单击类中最近的行。

=======================Update (对不起,我错误地简化了)===========

代码语言:javascript
复制
<div class="content content-1">
    <div class="row">
        <h4> 
            <a href="javascript:void(0)" class="new-content">new content</a>             
        <h4>
    </div>
    <div class="new-answer">
    </div>
</div>
<div class="content content-2">
    <div class="row">
        <h4> 
            <a href="javascript:void(0)" class="new-content">new content</a>             
        <h4>
    </div>
    <div class="new-answer">
    </div>
</div>
<div class="content content-3">
    <div class="row">
        <h4> 
            <a href="javascript:void(0)" class="new-content">new content</a>             
        <h4>
    </div>
    <div class="new-answer">
    </div>
</div>

我只想选择单击的.new-answer中的一个.new-content

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-04-22 04:23:19

假设您将具有一致的html结构:

代码语言:javascript
复制
$('.new-content').click(function() {
    $(this).parents('.row').next().show(); 
}

演示:https://jsfiddle.net/erkaner/oLmvcuwk/

票数 3
EN

Stack Overflow用户

发布于 2015-04-22 04:39:38

尝尝这个

代码语言:javascript
复制
$('.new-content').click(function() {
    $(this).parents('.content').find('.new-answer').show();
});
票数 2
EN

Stack Overflow用户

发布于 2015-04-22 04:16:54

您刚刚错过了jquery选择器中的.(点)(在closestfind中),否则代码的其余部分将给出所需的结果。如果没有. (点),选择器将查找contentrow标记元素,而不是元素的类。

看看这个

代码语言:javascript
复制
$('.new-content').click(function() {
    $(this).closest('.content').find('.row').show(); 
                     ^-------- dot ---^
}

编辑-在OP更新问题后,请参阅下面的代码,您可以使用closest()获得父级row div,然后使用next()获取新内容。

代码语言:javascript
复制
$('.new-content').click(function() {
    $(this).closest('.row').next('.new-answer').show(); 
}

代码语言:javascript
复制
$('.new-content').click(function() {
        $(this).closest('.content').find('.new-answer').show(); 
   }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29787650

复制
相关文章

相似问题

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