0

javascriptで要素の開始タグを文字列として取得する簡単な方法はありますか? 変数内の html 要素である DOM ノードがあるとします。似たようなものを書きたいと思います。

var tagName = element.tagName; //Works
var startingTag = element.startingTag; // Is there any way?
var startingTag = getStartingTag(element);  // Or do I have to write my own function?

回答ありがとうございます

たとえば、これは文字列に入れたい開始タグです。

 <Table class="anyClass" width="100" ... >

ここで、tagName は次のように指定します: "Table"

4

2 に答える 2

1

属性をループして、文字列に追加できます。

function getStartingTag(elem)
    var str = '',
        attr = elem.attributes,
        value;

    // Beginning of tag. toLowerCase() for a cleaner string.
    str += '<' + elem.nodeName.toLowerCase() + ' ';

    for (var i = 0, l = attr.length; i < l; i++) {

        // Safety check.
        value = attr[i].nodeValue.replace('"', '\\"');

        // Append the name + value of the attribute.
        str += attr[i].nodeName + '="' + attr[i].nodeValue + '" ';
    }
    str += '>';

    return str;
}
于 2013-01-25T08:18:18.403 に答える
1

さて、あなたはできる:

var elStr    = element.outerHTML
   ,startTag = elStr.substr(0,elStr.indexOf('>')+1);

または、element.attributes属性に関する情報が必要な場合は を使用します

于 2013-01-25T08:08:16.430 に答える