如何使用jquery获取下一个div的内部元素的文本?

时间:2017-02-10 17:11:25

标签: javascript jquery html

我有两个div ...然后当我点击第一个div 时,我希望得到第二个div h3 中的文字 这是我的代码......但是jquery代码都没有工作..任何修复我的代码的帮助,请...谢谢

HTML

<div class="timeline-badge" style="background-image:url(images/couple-9.jpg);">CLICK ME</div>
<div class="timeline-panel">
    qqqq
    <div class="timeline-heading">
        wwww
        <h3 class="timeline-title">Hello</h3>
        <span class="date"><i class="icon-calendar"></i>February 00, 2017</span>
    </div>
    <div class="timeline-body">
        <p>III</p>
    </div>
</div>

JQUERY / JAVASCRIPT

$('.timeline-badge').on('click', function() {
    alert($(this).closest(".timeline-panel + div + h3").text());
    alert($( '.timeline-badge > div:eq(0) + h3:eq(0)' ).children().text());
    alert($(this).nextAll( '.timeline-heading').eq(0).innerhtml);
});

http://jsfiddle.net/rK4qc/119/

6 个答案:

答案 0 :(得分:0)

.timeline-badge.timeline-title的下一个兄弟。因此,您应该使用.next()来选择它。然后使用.find()在其中找到$('.timeline-badge').on('click', function() { var text = $(this).next().find(".timeline-title").text(); console.log(text); });

$('.timeline-badge').on('click', function() {
  var text = $(this).next().find(".timeline-title").text();
  console.log(text);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="timeline-badge" style="background-image:url(images/couple-9.jpg);">CLICK ME</div>
<div class="timeline-panel">
    qqqq
    <div class="timeline-heading">
        wwww
        <h3 class="timeline-title">Hello</h3>
        <span class="date"><i class="icon-calendar"></i>February 00, 2017</span>
    </div>
    <div class="timeline-body">
        <p>III</p>
    </div>
</div>
sess.run

答案 1 :(得分:0)

使用Jquery的兄弟选择器https://api.jquery.com/siblings/

$('.timeline-badge').on('click', function() {
    console.log($(this).siblings());
});

答案 2 :(得分:0)

按类名h3

获取
$('.timeline-badge').on('click', function() {
    alert($(this).next().find('h3.timeline-title').text());
});

答案 3 :(得分:0)

您可以使用以下命令获取h3标记的值:

$('div.timeline-panel div.timeline-heading h3.timeline-title').val();

答案 4 :(得分:0)

使用此代码。

$(document).on("click",".timeline-badge",function() {
   alert("H3 IS " + $('h3.timeline-title').text());
});

并检查这个代码的小提琴。 http://jsfiddle.net/rK4qc/121/

对于第二个div,只需为它添加div并为文本用户提供.text()函数。

答案 5 :(得分:0)

这对你有用: -

$('.timeline-badge').on('click', function() {

alert($(this).next().find('h3.timeline-title').text());
});