用JQuery拉出HTML

时间:2010-01-30 22:44:05

标签: jquery html parsing

我的文档中有以下结构:

<div id="clientList>
<a href=whatever.php" att="something">Text</a>
<a href=whatever.php" att="something">Text</a>
</div>

说我想得到div之间的所有链接,我该怎么做?

我尝试了以下内容:

$('#clientList').children("a").each(function() {
var x = $(this).html();
});

但我没有得到完整的链接,我得到的只是链接之间的“文本”部分。如何获取每个链接的完整HTML字符串,包括href和其他属性?

3 个答案:

答案 0 :(得分:7)

我认为这是JQuery: Select html of an element, inclusive?

的欺骗

无论如何,正如那里提到的,你应该能够用:

编写一个outerHTML插件
jQuery.fn.outerHTML = function() { 
    return $('<a>').append(this.eq(0).clone()).html(); 
}; 

然后将其用作

$(this).outerHTML();

答案 1 :(得分:0)

如果你使用jquery 1.4你可以使用 unwrap() 我还没玩过很多但是这是我到目前为止所做的。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
    <script type="text/javascript">

        $(function()
        {
            var h = $("#clientList a").unwrap();
            jQuery.each(h, function(i, val)
            {

                alert(val);

            });
        });
    </script>
</head>
<body>
    <div id="clientList">
    <a href=whatever.php" att="something">Text</a>
    <a href=whatever.php" att="something">Text</a>
    </div>
</body>
</html>

这将为您提供完整的href路径。现在它没有得到''属性。不知道怎么做。

答案 2 :(得分:0)

你尝试过吗? :

 $('#clientList').children('a').each(function() {
            alert($(this)[0].outerHTML);
        });