1

<li id="menu-item-3026">...</li>リスト アイテム " " を HTML のこの行" "に置き換えようとしています<li><a href="https://www.facebook.com/"><i class="icon-s-facebook"></i></a></li>

助言がありますか?

現時点の:

<div class="menu" id="menu">
  <ul id="megaUber" class="megaMenu">
    <li id="menu-item-3026" class="menu-item menu-item-type-custom menu-item-object-custom ss-nav-menu-item-4 ss-nav-menu-item-depth-0 ss-nav-menu-reg">
      <a target="_blank" href="https://www.facebook.com/SocialFactor"><span class="wpmega-link-title">Facebook</span>
      </a>
    </li>
  </ul>
</div>    

望ましい結果:

<div class="menu" id="menu">
  <ul id="megaUber" class="megaMenu">
    <li><a href="https://www.facebook.com/SocialFactor"><i class="icon-s-facebook"></i></a>
    </li>
  </ul>
</div>
4

4 に答える 4

2

jqueryでこれを試してください:

$("#menu-item-3026")
  .html("<a href=\"https://www.facebook.com/\"><i class=\"icon-s-facebook\"></i></a>")
  .prop("id", "");

jquery を使用しない場合:

var el = document.querySelector("#menu-item-3026");
el.innerHTML = "<a href=\"https://www.facebook.com/\"><i class=\"icon-s-facebook\"></i></a>";
el.id = "";
于 2013-08-27T20:03:13.350 に答える
2

jQuery がないと仮定すると、2 つの基本的なオプションがあります。

まず、DOM 関数を使用してノードをプログラムで作成します。

2 番目 - ioums が提案したように、単純なテキスト文字列を使用して更新します。

function byId(e){return document.getElementById(e);}
function newEl(tag){return document.createElement(tag);}
function newTxt(txt){return document.createTextNode(txt);}

var container = byId('megaUber');
container.innerHTML = '';

var li = newEl('li');
var a = newEl('a');
a.setAttribute('href', "https://www.facebook.com/SocialFactor");

var i = newEl('i');
i.className = "icon-s-facebook";

li.appendChild(a);
a.appendChild(i);
container.appendChild(li);

もちろん、一度に実行することもできます (実行速度が速くならない理由がわかりません)。

var container = byId('megeUber');
container.innerHTML = "<li><a href='https://www.facebook.com/SocialFactor'><i class='icon-s-facebook'></i></a></li>";
于 2013-08-27T20:14:01.233 に答える
1

誰もがすぐに jQuery に移行するのはなぜですか? 使うだけ

document.getElementById('megaUber').innerHTML = '<li><a href="https://www.facebook.com/SocialFactor"><i class="icon-s-facebook"></i></a></li>';
于 2013-08-27T20:10:50.127 に答える
1

jQueryを使用していますか?もしそうなら、あなたは次のことをすることができます:

  $('#menu-item-3026').replaceWith('<li><a href="https://www.facebook.com/SocialFactor"><i class="icon-s-facebook"></i></a></li>')
于 2013-08-27T20:04:13.887 に答える