从点击元素的父元素中查找子元素

时间:2014-07-06 11:38:56

标签: javascript jquery parent-child getelementbyid

我目前正在构建一个以“共享”按钮为特色的事件表。一旦用户点击共享按钮,我想从该特定表中查找文本值并将它们存储在变量中,以便我可以在下一步中使用它们。基本上,当我单击共享按钮时,我想找到包装特定表的父元素,然后从每个特定单元格中查找文本值并将其存储在变量中。在我的JSFiddle中,我设置了在结果框中显示结果。 http://jsfiddle.net/Ak84L/5/

$("#shareButt").click(function(){ 

 var date = $(this).parent('.even_table').find('date').text();

 $(".resultbox").text("date"+date);

});

3 个答案:

答案 0 :(得分:2)

首先将shareButtdate更改为class属性的值,而不是id,因为ID必须是唯一的。

并使用此代码:

$(".shareButt").click(function () {
    var date = $(this).closest('.event_table').find('.date').text();
    $(".resultbox").text("date" + date);
});

DEMO

答案 1 :(得分:2)

首先不要使用相同的ID。请改用class。走这条路:

<强> JS

$(".shareButt").click(function(){    
     var date = $(this).parents(".event_table").find(".date").text();    
     $(".resultbox").text("date"+date);

});

fiddle

答案 2 :(得分:2)

将自定义数据标记附加到元素上要比使用艺术性的fartsy jquery调用更加简单。

如果它对于angular.jsjadebootstrap等主要网络框架足够好,为什么许多人会继续尝试重新发明轮子以创建最复杂的解决方案。

JS FIDDLE EXAMPLE

HTML

<div class="shareButt" date-data="12.5.2014">SHARE</div></td>

<强>的jQuery

$(".shareButt").click(function(){    
     $('.resultbox').text('date' + $(this).attr('date-data'));
});