2

HTML文字列内の特定のタグを識別するのに問題があるJqueryが初めてです。私のHTML文字列は次のとおりです。

<span id="name">myname</span>  
<span id="familyname">mysurname</span>     
<span id="telnum">mytelnum</span>  
<span id="postcode">myPostCode</span> 
<span id="email">my@email.com</span>

そして、私が望むのは、各スパンの内部テキストを個別の変数に入れることです。

期待される結果は次のとおりです。

var a = 'myname';
var b = 'mysurname';
var c = 'telnum';
var d = 'myPostCode';
var e = 'my@email.com';

しかし、私のコードでは、検索機能が機能していないようです! ここに私のコードがあります:

var myHtmlCode = '<span id="name"> myname</span> <span id="familyname">mysurname</span> <span id="telnum"> mytelnum</span><span id="postcode"> myPostCode</span><span id="email">my@email.com</span>';

var $temp = $(myHtmlCode).find('span').contents().each(function() {
    alert(this.val());  
});

どんな助けでも大歓迎です....

4

2 に答える 2

3

を呼び出さないでください。要素から関数をcontents呼び出すことができるため、ここでは役に立ちません。textspan

また、解析された文字列を探索できるようにする場合は、スパンを 1 つの最上位要素に埋め込む必要があります。

次のように、テキストをオブジェクトに入れることができます。

var texts = {};
$('<div>'+myHtmlCode+'</div>').find('span')
  .each(function(){ texts[this.id] = $(this).text() });

次に、テキストをたとえば のように読むことができますtexts.name

デモンストレーション(コンソールを開いてtextsオブジェクトを表示)。

もちろん、のwindow.name代わりに使用するグローバル変数と同じように行うこともできますがtexts.name、グローバル名前空間が乱雑にならないようにすることを強くお勧めします。

于 2013-03-07T21:37:42.453 に答える
0

次のコードを使用しました。

var $temp = $(myHtmlCode).each(function () {

            if (this.id == "name") {

            alert(this.innerHTML);
            } 
        });
于 2013-03-07T22:22:49.947 に答える