获取包含单击链接的DIV的文本

Get text in containing DIV of clicked link

本文关键字:DIV 文本 链接 包含 单击 获取      更新时间:2024-05-21

我有以下JS:

  $(document).on("click", '.like', function (e) {
      $(this).parent().html("<a href = '#' class = 'unlike'><div class = 'heart'></div></a>");
      return false;
  });
  $(document).on("click", '.unlike', function (e) {
      $(this).parent().html("<a href = '#' class = 'like'><div class = 'coal'></div></a>");
      return false;
  });

我还有下面的html:

                  <div>
                   45
                    <a href = "#" class = 'unlike'>
                        <div class = "heart"></div>
                    </a>
                  </div>  

我试图使用JS将整数45返回到控制台,但无法做到。45在div中。我试图使用parent/child或next在单击时返回它。有什么建议吗?

我试着做

    id = $(this).parent().text;
    console.log(id);

但它不起作用。

如果您使用chrome开发工具或firebug:

console.log(value);

在internet explorer中,您需要启动开发工具并刷新页面,否则console.log将无法工作。

返回<div>中的值,而div上没有id标记:

$(document).on("click", '.like', function (e) {
  $(e.target).parent().html("<a href = '#' class = 'unlike'><div class = 'heart'></div></a>");
  console.log($(e.target).text());
  return false;
});

text是一个方法,而不是属性,您必须将其作为函数调用。

var value = $(this).parent().text();
console.log(value);

试试这个

var value = $(this).parent().text();
alert($(this).parent().text()); //Alert 45
console.log(value);//print 45 in Console

使用

console.log( $(this).parent().text().trim());

使用toggleClass方法的单个事件处理程序的方法是什么?

$(document).on("click", '.like, .unlike', function (e) {
    $(this).toggleClass('like unlike');
    alert(this.previousSibling.nodeValue);
    return false;
});

我们可以使用普通的旧javascript来获得以前的文本节点值this.previousSibling.nodeValue

Demohttp://jsfiddle.net/Q69Bb/