获取img Jquery旁边的文字

时间:2015-11-26 11:47:02

标签: javascript jquery

我有这段代码



lists = list() # a list of lists

tmp = []
for idx, line in enumerate(lists): # make a copy of the original
    if idx > 0:
        cur_val = line[0] # value of current line
        prev_val = lists[idx-1][0] # value of previous line

        if prev_val != cur_val:
            tmp.append(line)
    else:
        tmp.append( line )

 lists[:] = tmp

tmp




我想要的是每张图片,在$('.arrow img').click(function() { var text = $('.arrow div').contents().text(); alert(text); });旁边的文字中显示。 我尝试了一些东西,但它不起作用。

感谢您的帮助!

4 个答案:

答案 0 :(得分:1)

您可以尝试.closest()并获取父div的文字

$('.arrow img').click(function() {
    var text = $(this).closest('div').text();
    alert(text);
});

答案 1 :(得分:0)

您可以使用.parent().text()遍历父div元素,以查找其中的文字:

$('.arrow img').click(function() {
     alert($(this).parent().text());
});

答案 2 :(得分:0)

您可以这样使用:

$('.arrow img').click(function() {
    var text = $(this).parent().contents().filter(function(){
        return this.nodeType == 3;//if node type is textNode
    });
    alert(text);
});

检查参考文献:parentfilternodeType

答案 3 :(得分:0)

您可以使用js:{/ p>中的nextSibling.textContent

$('.arrow img').click(function() {
  var text = this.nextSibling.textContent;
  $('pre').html(text);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="arrow">
  <div>
    <img src="images/flechedroite.png" />Hello the world</div>
  <div>
    <img src="images/flechedroite.png" />Give us your feedback</div>
  <div>
    <img src="images/flechedroite.png" />We love sharing stuff</div>
</div>

<pre></pre>