jQuery:从子元素中抓取textContent

时间:2012-03-20 09:02:34

标签: jquery ajax

HTML

<a href="report.php?id=5&file=name.jpg" id="5" class="report">Report Content<span class="hidden">name.jpg</span></a>

的jQuery

$('.report').click(function(event) {
    var id = this.id;
    var file = $(this).children('span').textContent;

    alert(file);

    $(this).fadeOut("slow");

    $.ajax({
        type: 'GET',
        data: 'id=' + id + '&file=' + file,
        url: 'http://www.sitename.com/report.php',
        success: function() {

        }
    });
    return false;   
}

我遇到问题的代码行:

    var file = $(this).children('span').textContent;

如何正确抓取该span的文本内容并将其存储在变量file中?

另外,有没有更好的方法来做这件事,或者我的方法还可以吗?

1 个答案:

答案 0 :(得分:0)

使用text方法:

var file = $(this).children('span').text();

由于children返回jQuery实例,因此它不具有textContent属性。或者,如果您确实想使用本机textContent属性,则可以访问基础DOM元素:

var file = $(this).children('span')[0].textContent;

但是,请注意,这与jQuery版本略有不同,因为text方法返回所有选定节点的连接文本(在当前代码中,只是单个span,但是如果你添加了另一个span元素,那就不一样了。