2015-10-19 42 views
0
<div class="group_list_table_row" group_id="10"> 
<div class="group_name">Name of Course</div> 
<div class="group_list_edit_row" style="left: 215px;"> 
<a href="" class="update_group"> Click me. </a> 
</div> 
</div> 

<script type="text/javascript"> 
    /* This triggers when update button is clicked. */ 
    $(".update_group").click(function(event) { 
     var value = $(this).parent().parent().text(); 
     alert(value); 
     event.preventDefault(); 
</script> 

我试图获取仅为group_name类的文本,即“课程名称”。但是,警报(值)的结果还包括“点击我”。和“课程名称”。需要帮助。获取group_name的文本元素

+1

元素中获取是点击的元素的祖先,用'$(本).parent()上一个()文本()。 ' – Tushar

+0

你打电话给父母的父母是第一个div(group_list_table_row) –

+0

我得到了我的问题的答案http://stackoverflow.com/questions/3442394/jquery-using-text-to-retrieve-only-文字不嵌套在儿童标记 –

回答

1

你可以这样做更容易:

<script type="text/javascript"> 
    /* This triggers when update button is clicked. */ 
    $(".update_group").click(function(event) { 
     var value = $('.group_name').text(); 
     alert(value); 
     event.preventDefault(); 
    }); 
</script> 
1

试试这个:

$(".update_group").click(function(event) { 
    var value = $(".group_name").text(); 
    alert(value); 
    event.preventDefault(); 
}); 
0

只要前面的答案,提供您可能会感兴趣,为什么你不工作妥善的解决办法,这是因为“.group_name”元素不像元素的父元素的父元素,正如您所期望的那样。它显然不是父母,只包含内部的文本文本。因此,$(this).parent()。parent()调用返回包含其他两个div的“.group_list_table_row”元素,它的文本是它们内容的连接。

A点缩进和东西会是显而易见的:

<div class="group_list_table_row" group_id="10">   /*parent 2*/ 
    <div class="group_name">Name of Course</div> 
    <div class="group_list_edit_row" style="left: 215px;"> /*parent 1*/ 
     <a href="" class="update_group"> Click me. </a> 
    </div> 
</div>