获取锚元素的文本值

时间:2013-12-24 09:20:19

标签: javascript jquery

这是我的HTML

{% for song in dj_song_list %}
        <div>
            <p><h3>{{ song.name }}</h3></p>
            <p style="display:none;" class="song_pk">{{ song.id }}</p>
            <button type="button" class='vote' onclick="update(this);">Vote as Favourite</button>
        </div>
{% endfor %}

我想在p元素中使用类song_pk

获取文本值
function update() {
     console.log($('.song_pk').text());
 }

这会打印一个随机的长字符串。如何获取与单击按钮相关联的文本的值?

4 个答案:

答案 0 :(得分:2)

利用prev()并尝试:

function update(elem) {   // elem is an current element passed on the button click
     console.log($(elem).prev('.song_pk').text()); // will get previous p element text
 }

Updated Fiddle Demo

答案 1 :(得分:0)

我的解决方案:

  function update(item) {
        var text = $(item).parent().find('p.song_pk').text();
        //or
        var text2 = $(item).prev().text();
  };

答案 2 :(得分:0)

试试这个

function update(e) {
     console.log($(e).prev('.song_pk').text());//It print clicked element prev p text
     console.log($(e).text());//It print clicked element text
 }

DEMO

答案 3 :(得分:0)

看一下发布的原始JSFiddle(http://jsfiddle.net/d43Lr/4/

合理的解决方案是使更新功能看起来像这样

function update(element) {
     console.log($(element).siblings('.song_pk').text());
}

在原始函数中,您发现所有元素都有一个类“song_pk” - 在这里,我们正在查看按钮的兄弟。

(在这里演示:http://jsfiddle.net/Q9H7T/