1

文字列内の HTML 要素 (HTML タグ) の数を取得するには?

たとえば、次の文字列があります。

<div> some text
     <div>
           <label>some text</label>
     </div>
</div>

この文字列内の html タグの数を調べるにはどうすればよいでしょうか。上記の場合の結果は 3 になります。

私はこれを試しましたが、うまくいくと思いましたが、うまくいきませんでした:

$('*').length;
4

6 に答える 6

3
var s = "<div> some text<div><label>some text</label></div></div>";   
var length = $(s).find('*').andSelf().length;

http://jsfiddle.net/jCW7Z/

于 2013-01-23T05:04:38.907 に答える
2

jQueryを使用している場合(そしてあなたがそうであるように見える場合)、最も簡単な方法は次のようなコードを使用することです。

var count = $( yourString ).find('*').andSelf().length

ただし、バニラJavaScriptを使用している場合、実装は次のようになります。

var temp = document.createElement('div');
temp.innerHTML = yourString;

var count = temp.getElementsByTagName('*').length;
于 2013-01-23T05:16:31.303 に答える
1
  1. ドキュメント内のすべての要素を取得 (document.getElementsByTagName('*'))
  2. 各要素の要素の className 属性で正規表現の一致を実行します

jQuery を使用できます: $("html *") は、html タグ間のすべての要素を返します。

  1. 名前には $("html *").attr('name') を使用する必要があります
  2. 値 $("html *").val() または $("html *").attr('value')
于 2013-01-23T05:00:44.707 に答える
0

小さな自己文書化の例:)

<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>List Elements</title>
</head>
<body>
<div>some text
    <div>
        <label>some text</label>
    </div>
</div>
<script>
var x=document.getElementsByTagName('*');
console.log(x.length)
for (i=0;i<x.length;i++) {
    console.log(x[i]);
}
</script>
</body>

</html>
于 2013-01-23T05:13:59.800 に答える
0

あなたはこのようにそれを行うことができます、

文字列を次のdivように隠したものに入れます

$('#myHiddenDiv').html(string);

それから

その下の子の数を生成できます

これにより、本文の下にあるhtml要素の数がわかります

var count = $("#myHiddenDiv> *").length;

また:

var count = $("#myHiddenDiv").children().length;

あなたのdivはこのようになります

<div id="myHiddenDiv" style="display:none"></div>
于 2013-01-23T05:06:04.447 に答える
0

可能な方法: http://api.jquery.com/length/

jQueryを使用して文字列内の要素の数を見つけるをチェックしてください

例えば

$( '.myClass', myData ).length;

(ただし、これは最も外側のタグを表示しない場合があります)

于 2013-01-23T05:04:11.370 に答える