【问题标题】:Get specific text content from an element with jQuery使用 jQuery 从元素中获取特定的文本内容
【发布时间】:2012-02-13 21:17:53
【问题描述】:

我需要使用 jQuery 从页面上的元素中提取一些文本,但我不知道如何获取我需要的部分。

这是我的 HTML:

魂星
by Musiq Soulchild

我想拉出.artist(本例中为Musiq Soulchild)的内容。首先,我尝试了这个:

var this_artist = $(this).children().text(); 警报(this_artist);

这给了我by Musiq Soulchild(因为this<a> 元素)。因此,我假设我所要做的就是在 .children() 方法中指定一个选择器,以将其缩小到 .artist 类,如下所示:

var this_artist = $(this).children(".artist").text(); 警报(this_artist);

但这给了我……什么都没有。我也试过$(this).children("span").text();,同样,也没有任何回报。

我做错了什么?

【问题讨论】:

  • 由于您使用的是this,我们需要知道代码正在执行的上下文。例如,它是否在事件处理程序中?
  • this 是我单击的<a> 元素,因为这是附加到特定<div> 内所有锚点的函数内部:$("#results a").live("click", function(event){...});
  • 带 OUT 上下文 `$('.song.artist').text();
  • 仅供参考,.live( 在版本 1.7.1 中被弃用,取而代之的是 .on(

标签: jquery text methods selector children


【解决方案1】:

.children() 仅遍历直接子级 - 鉴于您的标记 .artist 不是直接子级。请改用find()

var this_artist = $(this).find('.artist').text();

【讨论】:

    【解决方案2】:

    您的选择器不正确,因为.artist 不是a 元素的直接子元素。相反,您需要使用$(this).find():

    var this_artist = $(this).find(".artist").text();
    alert(this_artist)  
    

    Example fiddle

    【讨论】:

      【解决方案3】:

      您应该使用.find 而不是.children.children 搜索直系子代,.find 搜索后代。

      【讨论】:

        【解决方案4】:

        任何一个

        $(this).find("span.artist")
        

        $("span.artist", this)
        

        应该这样做... span 是 div 的子级,而不是锚点。

        【讨论】:

          【解决方案5】:

          如果这是您的链接对象,则此代码返回跨度文本:

          var this_artist = $(this).find('span').text();
          alert(this_artist);
          

          【讨论】:

            【解决方案6】:

            使用:

            $("#results").on("click","a", function(event){
            var myartist = $(this).find('.artist').text();
            }); 
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2015-11-06
              • 2013-01-15
              • 2012-03-22
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-11-08
              相关资源
              最近更新 更多