如何使用jQuery获取元素的标记,包括自身?

前端之家收集整理的这篇文章主要介绍了如何使用jQuery获取元素的标记,包括自身?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道我可以在标签中包装它的.html(),但元素本身有一个动态设置的id,类等.如何让jQuery返回包含它自身的元素标记

解决方法

据我所知,jQuery中没有“outer HTML支持,但你可以编写一个函数来模拟它(在IE以外的浏览器中),或者使用 this plugin
// this will return the element and it's mark-up,of an element
// with the id myTag
var outer = $('#myTag').outerHTML();

显然Brandon不是唯一的实现..我相信你也可以提出其他聪明的实现..

编辑

如果你热衷于避免追加电话,也许你可以尝试这样的事情..

function getOuterHTML(el)
{   
    var wrapper = '';

    if(el)
    {
        var inner = el.innerHTML;
        var wrapper = '<' + el.tagName;

        for( var i = 0; i < el.attributes.length; i++ )
        {
            wrapper += ' ' + el.attributes[i].nodeName + '="';
            wrapper += el.attributes[i].nodeValue + '"';
        }
        wrapper += '>' + inner + '</' + el.tagName + '>';
    }
    return wrapper;
}


// now,to replicate the sample above
var outer = getOuterHTML($('#myTag'));

唯一的问题是,我不确定是否所有浏览器都支持属性数组..但我知道mozilla家族的那些,并且IE对outerHTML有原生支持..试一试(对于那些没有支持您可以使用以前使用追加的方法属性数组)

原文链接:https://www.f2er.com/jquery/177030.html

猜你在找的jQuery相关文章