:すべてのスパンタグをJavascriptでラベルタグに変更しますか?私が何をしたいか
<label>some content</label>
に
<span>some content</span>
を変更するためにアンロード関数を呼び出すには、JavaScriptを使用して、ラベル、タグにスパン・タグを変更することが可能ですか?可能であれば、どうすればいいのですか?
のthnx、
... DORO
:すべてのスパンタグをJavascriptでラベルタグに変更しますか?私が何をしたいか
<label>some content</label>
に
<span>some content</span>
を変更するためにアンロード関数を呼び出すには、JavaScriptを使用して、ラベル、タグにスパン・タグを変更することが可能ですか?可能であれば、どうすればいいのですか?
のthnx、
... DORO
に<span id="mySpan" class="spans">
を向けるだろうそして、あなたはjQueryのを使用している場合は、replaceWith()を使用することができます
jQuery.each($("span"), function() {
$(this).replaceWith("<label>" + $(this).text() + "</label>");
});
で詳細情報:あなたはSPANへの参照を獲得する必要がhttp://docs.jquery.com/Manipulation/replaceWith
あなたはreplace()
を使用することができます。詳細情報here
私は正規表現で非常に良いではないので、私が書くために正確に何を伝えることはできませんが、の線に沿って何か:
var divHTML = getElementById("myDiv"); //The div which contains your spans
divHTML.innerHTML.replace(/<span>/gi, "<label>");
divHTML.innerHTML.replace(/<\/span>/gi, "</label>");
は、この上で私バストしないでください、しかし:P
編集:あなたは、クラス名、IDおよび、そのようなを維持したい場合、あなたは、単に右アングル・ブラケットを除外:
divHTML.innerHTML.replace(/<span/gi, "<label");
これは<label id="mySpan" class="spans">
ファースト要素を追加すると、新しい要素に置き換えることができます。
HTML:
<span id="something">Content</span>
のJavaScript(jQueryのを使用して)
var span = document.getElementById('something');
var label = document.createElement('label');
label.innerHTML = span.innerHTML;
span.parentNode.replaceChild(label, span);
あなたは変換の間のクラスを維持する必要がある場合:
$("span").each(function(){
so_classes = $(this).attr("class");
so_value = $(this).html();
so_newLabel = $("<label></label>").html(so_value);
if (so_classes.length > 0) {
$(so_newLabel).attr("class",so_classes);
}
$(this).replaceWith(so_newLabel);
});
この
には、この<span>Hello World</span>
<span class="bigger"><strong>Hello World!</strong></span>
<span class="big blue">Hello, <em>World</em>.</span>
に変換
<label>Hello World</label>
<label class="bigger"><strong>Hello World!</strong></label>
<label class="big blue">Hello, <em>World</em>.</label>
so_classes行をコピー/変更すると、id値も保持できます。 – Sampson
なぜこれをやりたいですか? – rahul
私はオペラでもうまくいくはずのonfocusを追加することができますが、スパンではうまくいきません... b/caユーザーはコンテンツを変更できますb/c contenteditableはtrueに設定されていますが、それは古い状態に戻す必要がある...ああ、ええ、私は確かに最初の場所でラベルを使用することができますが、ページは動的に構築され、私は何を得るのかわからないので、 contenteditable = true、私は今、オペラでもonfocusがうまく動作するラベルに変更する方法を知っています...まあ、私は望んでいた:) – doro