【问题标题】:Jquery traverse using prev() failed in my case在我的情况下,使用 prev() 的 Jquery 遍历失败
【发布时间】:2015-01-02 11:33:03
【问题描述】:

我想在点击.card时得到.itemLink的值

var item = $('.card');

item.on('click',function() {
    if ($(this).next('.content').is(':empty')) {
        alert($(this).prev('.card').find('.itemLink').val());
    }
}

我有一个未定义的?

我的 DOM

【问题讨论】:

  • val() 用于表单元素,您需要.html() 函数
  • @Clyde 我需要 val() 用于 getthevaluehere
  • 这里没有人能提供答案吗?
  • [重复] 之前有人问过这个问题:“How do I get a value of a <span> using jQuery?
  • 我已经在评论中提供了答案。这是一个可以澄清您的疑问的小提琴jsfiddle.net/b22hnyyh

标签: javascript jquery dom


【解决方案1】:

在警报中,您应该有:

$(this).find('.itemLink').html()

您正在单击 .card,它已经是父元素,因此您拥有的 .prev('.card') 部分不正确,就像在跨度上使用 .val() 一样。

【讨论】:

  • 为什么在这里使用 prev 是错误的? .content 不是 .card 的下一个吗?
  • @jamieeason .itemLink.card 的子/后裔。我们甚至不知道.card 的前一个元素是什么元素。不过没关系。
猜你喜欢
  • 1970-01-01
  • 2016-09-07
  • 1970-01-01
  • 2013-02-27
  • 2010-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-07
相关资源
最近更新 更多