家长/最近的Div问题

时间:2016-09-20 21:43:21

标签: javascript jquery html css

编辑: 我有以下代码:

<div class="specificBlock" id="thevagabond">
     <a class="intro"><img src="images/blabla.png"/></a> 
     </br>
     <div class="btn-group-xs testing">
        <a type="button" class="btn btn-success intro">Use</a>
     </div>
</div>

<div class="specificBlock" id="thedog">
     <a class="intro"><img src="images/blabla.png"/></a> 
     </br>
     <div class="btn-group-xs testing">
        <a type="button" class="btn btn-success intro">Use</a>
     </div>
</div>

我的问题如下: 我想找到一种jQuery / JavaScript方式来获取所点击的div的ID以及#39; a&#39;类=&#34;介绍&#34;来自。

此处的问题是,如果点击第一个a class="intro",我需要使用最接近的div的ID。

但如果我点击第二个最近的div不是正确的div - 那么最接近的就是带class="testing"的div,这是我不想要的。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

ID应该是唯一的,因此您只需$('#thevagabond')。但是,您可能需要使用.parents(selector_here) - 请检查documentation

如果您确实需要身份证,请检查:

$('.specificBlock a').click(function(){
var id_that_you_looking_for = $(this).parents('.specificBlock').attr('id');
//code more
});

答案 1 :(得分:0)

$("a").on("click", function (e) {
  $(this).parents("#thevagabond");
});

或直接在#thevagabond之前提及。

修改
根据新信息(见下面的评论),这是一个新的解决方案。 您可以将iframe的目标网址放在href的{​​{1}}中,也可以将a属性添加到data-或其父网址之一

HTML:

a

的JavaScript / jQuery的:

<div class="specificBlock" id="thevagabond" data-url="my/iframe/url">
     <a class="intro"><img src="images/blabla.png"/></a> 
     </br>
     <div class="btn-group-xs testing">
        <a type="button" class="btn btn-success intro">Use</a>
     </div>
</div>

<div class="specificBlock" id="thedog">
     <a class="intro" href="my/iframe/url"><img src="images/blabla.png"/></a> 
     </br>
     <div class="btn-group-xs testing">
        <a type="button" href="my/iframe/url" class="btn btn-success intro">Use</a>
     </div>
</div>

<iframe id="my-frame" src="" width="500" height="500" style="display:none" />

我更喜欢var $specificBlocks = $(".specificBlock"), $thevagabond = $specificBlocks.filter("#thevagabond"), $thedog = $specificBlocks.filter("#thedog"), $iframe = $("#my-frame"); $thevagabond.on("click", "a", function (e) { e.preventDefault(); $iframe.attr("src", $thevagabond.data("url")); $iframe.show(); }); $thedog.on("click", "a", function (e) { e.preventDefault(); var $t = $(this), url = $t.attr("href"); $iframe.attr("src", url); $iframe.show(); }); 选项,因为非JS用户和搜索引擎也可以访问iframe中显示的页面。