<div class="container">
<div class="well">
<h2>Hurry Up!</h2>
<ul>
<li>
<a onclick="clicked()"></a>
</li>
<li>
<a onclick="clicked()"></a>
</li>
</ul>
</div>
</div>
以上是我的html语法示例。我想要实现的是&#34; a&#34;单击标签,我想找到&#34; h2&#34;的文本。元件。
例如,当&#34; a&#34;点击标签,文字&#34;快点!&#34; h2应该显示在控制台中。
我尝试了这个,但它不起作用:
function clicked(){
var title = $(this).find('h2').text();
console.log(title);
}
还有这个:
function clicked(){
var title = $(this).parentsUntil('.container').find('h2').text();
console.log(title);
}
在控制台中,没有任何内容,只有空行。
我要添加的内容是我多次使用相同的语法。所以h2文本应该是点击它的容器,因为我正在尝试通过这个&#39;这个。
答案 0 :(得分:0)
试试这个:
<div class="container">
<div class="well">
<h2>Hurry Up!</h2>
<ul>
<li>
<a onclick="clicked(this)"></a>
</li>
<li>
<a onclick="clicked(this)"></a>
</li>
</ul>
</div>
</div>
function clicked(elem){
var text = $(elem).closest('h2').text();
// text contains Hurry Up! in it
}
答案 1 :(得分:0)
试试这个
function clicked(element){
var title = $(element).closest('div').find('h2').html();
console.log(title);
alert(title);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="well">
<h2>Hurry Up!</h2>
<ul>
<li>
<a onclick="clicked(this)" href="#">Click 1</a>
</li>
<li>
<a onclick="clicked(this)" href="#"> Click 2</a>
</li>
</ul>
</div>
</div>
&#13;
答案 2 :(得分:0)
function clicked(element) {
var title = $(element).closest('ul').prev('h2').text();
console.log(title);
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="container">
<div class="well">
<h2>Hurry Up!</h2>
<ul>
<li>
<a onclick="clicked(this)">clicked</a>
</li>
<li>
<a onclick="clicked(this)">clicked</a>
</li>
</ul>
</div>
</div>
&#13;
使用.closest()
获取ul,然后使用.prev()
获取h2
答案 3 :(得分:0)
如果您不寻找模块化答案,可以试试这个:
function clicked(){
var title = $(".well h2").text();
console.log(title);
}