私は入力とdivの両方が同じIDを共有しているため、ここでの問題が分かります。 "this"のようにクリックされた特定のdivのIDを指定する方法はありますか?私のコードで複数のID HTML5仕様から直接異なるdiv内の同じID名のdocument.getElementByIdを更新します
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
$(this).on("click", ".descrip", function() {
$(this).next('.def').slideToggle("slow");
});
});
function addDef() {
//window.alert (1);
var def = document.getElementById("defInput").value;
//window.alert (def);
document.getElementById("addf").innerHTML += "<div class= 'descrip'> descrip </div>";
document.getElementById("addf").innerHTML += "<div class= 'def'> " + def + " </div>";
}
</script>
</head>
<body>
<div class="descrip"></div>
<div class="def"></div>
enter def for apple:
<input type="text" id="defInput">
<br>
<br>
<button onclick="addDef()">ADD</button>
<div id="addf"></div>
<div class="descrip"></div>
<div class="def"></div>
enter def for orange:
<input type="text" id="defInput">
<br>
<br>
<button onclick="addDef()">ADD</button>
<div id="addf"></div>
</body>
</html>
_ HTML内の識別子は一意である必要があります_あなたのHTMLは無効です。 – Satpal
idをスクリプトと連動させるには、idを一意にする必要があります。物語の終わり。 –
IDの代わりに、name = ''を使用するか、クラスを持つ必要があります。 HTML内のIDは一意である必要があります。 –