你好我有一个UL和LI它正在使用函数点击但是如果得到标题它不起作用。
例:
// it work but not get title
$("#list li").on('click', function() {
var get_id = $(this).attr('id');
var get_title = ///??? how to get title h2 selector
//alert(get_id);
console.log($(this).text());
});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/core.js"></script>
<ul id="list">
<li id="myID">
<h2>Title</h2> First One </li>
<li id="myID2">
<h2>Title 2</h2> Two </li>
<li id="myID4">
<h3>Title 3</h3> Tree </li>
</ul>
&#13;
答案 0 :(得分:2)
您需要选择h2
元素,然后使用text()
获取文字,如:
var get_title = $(this).find('h2').text();
正如@ParthShah建议您可以在标题元素上使用title_content
之类的全局类,因此您可以使用类选择器轻松地定位它:
var get_title = $(this).find('.title_content').text();
$("#list li").on('click', function() {
var get_id = $(this).attr('id');
var get_title = $(this).find('.title_content').text();
console.log(get_id + ' - ' + get_title);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="list">
<li id="myID"><h2 class="title_content">Title</h2> First One </li>
<li id="myID2"><h2 class="title_content">Title 2</h2> Two </li>
<li id="myID4"><h3 class="title_content">Title 3</h3> Tree </li>
</ul>
&#13;
答案 1 :(得分:1)
使用:header
。无需担心任何h1,h2,h3...
标记。
$("#list li").on('click', function() {
var get_id = $(this).attr('id');
var get_title = $(this).find(":header").text();
console.log(get_title);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="list">
<li id="myID">
<h2>Title</h2> First One </li>
<li id="myID2">
<h2>Title 2</h2> Two </li>
<li id="myID4">
<h3>Title 3</h3> Tree </li>
</ul>
</div>
&#13;
答案 2 :(得分:0)
使用jQuery的find查询元素。
var get_title = $(this).find("h2,h3").text() //add h4,h5 etc if you need to find those too.
答案 3 :(得分:0)
答案 4 :(得分:0)
标题是您定位的li
的孩子。使用.children()
函数定位该标题。
希望这会有所帮助:&gt;
// it work but not get title
$("#list li").on('click',function(){
var get_id = $(this).attr('id');
var get_title = $(this).children().text();
alert(get_title)
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="list" >
<li id="myID" > <h2>Title</h2> First One </li>
<li id="myID2" > <h2>Title 2</h2> Two </li>
<li id="myID4" > <h3>Title 3</h3> Tree </li>
</ul>
&#13;
答案 5 :(得分:0)
给类似#34; title_content&#34;到你的h2和h3标签,然后按类名获取标题。
$("#list li").on('click', function() {
var get_id = $(this).attr('id');
var get_title = $(".title_content", this).text();
console.log(get_id + ' - ' + get_title);
});
答案 6 :(得分:0)
请参阅下面的小提琴..
您可以使用以下任何一种
1. var get_title = $(this).find(':header').text();
2. var get_title = $(this).children().text();