私はjsが初めてで、問題があります。私はこのhtmlマークアップを持っています:
<div id="searchBar">
<div>
<a>some link </a>
<span>some text </span>
</div>
</div>
そして、jsスクリプトを使用した後、これを取得したい:
<div id="searchBar">
<div>
<div class="toplink_bl">
<a>some link </a>
<span>some text </span>
</div>
</div>
</div>
しかし、何かが間違っていて、私はこれを取得します:
<div id="searchBar">
<div>
<a>some link </a>
<span>some text </span>
<div class="toplink_bl"></div>
</div>
</div>
ここにjsコードがあります:
var toplink_div=document.createElement('div');
toplink_div.className="toplink_bl";
$(toplink_div).appendTo($("#searchBar div"));
for(var i = 0; i < $("#searchBar div").childNodes.length; i++) {
toplink_div.appendChild($("#searchBar div").childNodes[i]);
};
UPD:
@Ricky Stam、ありがとう、うまくいきます!同じ問題を解決できますか?私はあなたのコードに新しい行を追加しました:
<div id="searchBar">
<div class="inner">
<a>some link </a>
<span>some text </span>
<input type="text" class="searchInput" value="" name="q" id="keywords" tabindex="1">
</div>
</div>
<div class='new'>
そして、2つの要素を含めたいのですが、そうでは<a>
あり<span>
ません<input>
。
したがって、使用後は$( ".inner" ).wrapInner( "<div class='new'></div>");
次のようになります。
<div id="searchBar">
<div class="inner">
<div class='new'>
<a>some link </a>
<span>some text </span>
</div>
<input type="text" class="searchInput" value="" name="q" id="keywords" tabindex="1">
</div>
</div>
これどうやってするの?