0

strongonclick イベント中に要素を削除する最良の方法は何ですか?

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Untitled Page</title>
</head>
<body>
    <span onclick="testfx();"><strong>Test without styles</strong></span>
</body>
</html>
<script type="text/javascript">
    function testfx() { alert('test'); }
</script>
4

2 に答える 2

15

さて、ここにあります:http://tinker.io/1f282/1

el.addEventListener('click', function () {
    var toRemove = this.getElementsByTagName('strong')[0];

    if (!toRemove) {
        return;
    }

    while (toRemove.firstChild) {
        el.appendChild(toRemove.firstChild);
    }
});

elあなたのスパンはどこですか)。1 つの非常に重要な点に注意してください: HTML に JavaScript を混在させないでください。あらゆる点で悪いです。「関心の分離」と「邪魔にならないJavaScript」をグーグルで検索して、その理由を確認できます。

于 2013-07-02T15:36:55.700 に答える
1

HTML ではなく、スクリプト ファイルで (javascript) イベントを処理する必要があります。それはあなたを助けるでしょう、

  • Web ページの構造/コンテンツおよび表示からの機能 (「動作層」) の分離
  • 従来の JavaScript プログラミングの問題 (ブラウザの不一致やスケーラビリティの欠如など) を回避するためのベスト プラクティス
  • 高度な JavaScript 機能をサポートしていない可能性があるユーザー エージェントをサポートするための漸進的な機能強化

あなたはこれを試すことができます、

var x = document.getElementById("test");
var y = document.getElementById("testChild");
x.addEventListener('click', function () {
    this.removeChild(y);
});

リンクのテスト

編集

「強い」効果を削除したいだけの場合は、これを行います。

var x = document.getElementById("test");
var y = document.getElementById("testChild").innerHTML;
x.addEventListener('click', function () {
    this.innerHTML = y;
});

リンクのテスト

于 2013-07-02T15:16:19.157 に答える