更改段落中的按钮元素

时间:2017-02-28 14:09:28

标签: javascript html button



/*jshint strict:false */
document.getElementById("btn_1").addEventListener("click", function() {
  test(this);
});
document.getElementById("btn_2").addEventListener("click", function() {
  test(this);
});
document.getElementById("btn_3").addEventListener("click", function() {
  test(this);
});

function test(id) {
  var e = document.getElementById(id);
  var d = document.createElement('p');
  d.innerHTML = e.innerHTML;
  e.parentNode.insertBefore(d, e);
  e.parentNode.removeChild(e);
}

/* CSS Document */

body {
  background-color: #484848;
}

p {
  margin: 2em 2em;
  color: aliceblue;
}

button {
  margin: 1em 2em;
  color: ghostwhite;
  background: #677762;
}

<!doctype html>
<html>

<head>
  <meta charset="utf-8">
  <link rel="stylesheet" href="style.css">

  <title>Line Game</title>
</head>
<p>Als die ersten Menschen auftauchten lehrten wir sie:</p>
<button id="btn_1">Jagen</button>
<button id="btn_2">Fischen</button>
<button id="btn_3">Landwirtschaft</button>
<!--Javascript Time-->
<script src="Javascript.js"></script>

<body>
</body>

</html>
&#13;
&#13;
&#13;

所以这是我的所有代码。我想在有人点击后将Buttons替换为Paragraph。按钮中的旧文本应该仍然存在。

对不起转储问题,试了几个小时,厌倦了试错。

2 个答案:

答案 0 :(得分:1)

test(this);更改为test(this.id);

/*jshint strict:false */
document.getElementById("btn_1").addEventListener("click", function() {
  test(this.id);
});
document.getElementById("btn_2").addEventListener("click", function() {
  test(this.id);
});
document.getElementById("btn_3").addEventListener("click", function() {
  test(this.id);
});

function test(id) {
  var e = document.getElementById(id);
  var d = document.createElement('p');
  d.innerHTML = e.innerHTML;
  e.parentNode.insertBefore(d, e);
  e.parentNode.removeChild(e);
}
/* CSS Document */

body {
  background-color: #484848;
}

p {
  margin: 2em 2em;
  color: aliceblue;
}

button {
  margin: 1em 2em;
  color: ghostwhite;
  background: #677762;
}
<!doctype html>
<html>

<head>
  <meta charset="utf-8">
  <link rel="stylesheet" href="style.css">

  <title>Line Game</title>
</head>
<p>Als die ersten Menschen auftauchten lehrten wir sie:</p>
<button id="btn_1">Jagen</button>
<button id="btn_2">Fischen</button>
<button id="btn_3">Landwirtschaft</button>
<!--Javascript Time-->
<script src="Javascript.js"></script>

<body>
</body>

</html>

答案 1 :(得分:0)

在此代码中,您将链接到元素

test(this);

但你需要抛出属性id

 test(this.id);