4

HTMLタグを含む文字列があります:

var str = "Hello World <br><p>1</p><em>My First Javascript</em>";

また、入力が非表示のフォームもあります。

<input type='hidden' name='id' value=''>

上記の文字列を使用して、<p>タグ内の値を取得し、1その値を非表示の入力に割り当てたいと考えています。その後、これらの文字列内のすべての HTML タグを削除したいと思いました<br><p>1</p><em>My First Javascript</em>。したがって、 の唯一の値はstrになりますHello World

Javascriptまたはjqueryでこれを行う方法はありますか?

みんなありがとう!

4

2 に答える 2

4

したがって、あなたがしたいことは、文字列を jQuery オブジェクトに変換することです。あなたはこのようにすることができます -

var str = "Hello World <br><p>1</p><em>My First Javascript</em>";
var $holder = $('<div>');
$holder.append(str);

これで、文字列が別の div 要素内にカプセル化されました。次に、<p>要素内の値を抽出します -

var value = $holder.find('p').text(); // 1

その値を取得したので、非表示の入力フィールドに配置できます -

$('input[name="id"]').val(value);

元の文字列から他のすべての要素を削除するには、以前に作成したコンテナーを使用します。

$.each($holder.children(),function(index,elem){
  $(elem).remove();
});

$holderこれで、 withのテキスト コンテンツを取得できます$holder.text()

こんにちは世界


これをいじりたい場合
は、ここで行うことができます - http://jsfiddle.net/TVXbw/1/

于 2012-07-15T14:09:40.697 に答える
0

わかりました、すばやく簡単な方法:

var tmpDiv = document.createElement('div');
tmpDiv.innerHTML = str;//where str is the html string, obviously...
var pTagValue = tmpDiv.getElementsByTagName('p')[0].innerHTML;//=== '1'
document.getElementById('yourInputId').value = pTagValue;

私の理解が正しければ、それがあなたの求めていることですよね?

于 2012-07-15T14:04:00.577 に答える