2012-03-20 73 views
0

HTMLjQuery的:抓住的textContent從子元素

<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; 

如何正確我搶跨度的文本內容並將其存儲在變量中file

另外,有沒有更好的方法,我應該這樣做,或者是我的方法好嗎?

回答

0

使用text方法:

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

由於children返回的jQuery的一個實例,它不會有一個textContent財產。另外,如果你想使用本地textContent屬性,您可以訪問底層DOM元素:

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

但是,要知道,這是從jQuery版本略有不同的text方法返回串接文本從所有選定的節點(在您當前的代碼中,這只是單個span,但如果您添加了另一個span元素,則會有所不同)。