0

strong在 onclick 事件期间删​​除元素的最佳方法是什么?

<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你的跨度在哪里)。请注意一件非常重要的事情:您不应该在 html 中混合使用 javascript。它在各种方面都很糟糕,你可以谷歌“关注点分离”和“不显眼的 javascript”来看看为什么。

于 2013-07-02T15:36:55.700 回答
1

您应该在脚本文件中而不是在 HTML 中处理 (javascript) 事件。它会帮助你,

  • 将功能(“行为层”)与网页的结构/内容和表示分离
  • 避免传统 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 回答