web-dev-qa-db-ja.com

jqueryで既存のdivにテキストを追加する方法

ID #addのボタンをクリックしたときに、既存のdivにテキストを追加したい。しかし、これは機能していません。

ここに私のコード:

$(function () {
  $('#Add').click(function () {
    $('<p>Text</p>').appendTo('#Content');
  });
}); 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
 <div id="Content">
    <button id="Add" />
 </div>

あなたが私を助けてくれることを願っています。

53
JSt

ボタンテキストを定義し、ボタンに有効なHTMLを用意する必要があります。ボタンのクリックハンドラに.onを使用することもお勧めします

$(function () {
  $('#Add').on('click', function () {
    $('<p>Text</p>').appendTo('#Content');
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="Content">
    <button id="Add">Add Text</button>
</div>

また、jqueryがページの最後の</body>タグの直前にあることを確認します。そうすることで、$(functionですべてをラップする必要がなくなりますが、私はそれを行います。ページの最後でJavaScriptをロードすると、JavaScriptがどこかで遅くなる場合に備えて、ページの残りの部分がロードされます。

55
bretterer

実行例:

//If you want add the element before the actual content, use before()
$(function () {
  $('#AddBefore').click(function () {
    $('#Content').before('<p>Text before the button</p>');
  });
});

//If you want add the element after the actual content, use after()
$(function () {
  $('#AddAfter').click(function () {
    $('#Content').after('<p>Text after the button</p>');
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>

<div id="Content">
<button id="AddBefore">Add before</button>
<button id="AddAfter">Add after</button>
</div>
11
Zach dev

あなたのhtmlは無効ですbuttonはnullタグではありません。試してみる

<div id="Content">
   <button id="Add">Add</button>
</div> 
5
Musa

私の側から非常に簡単:-

<html>
<head>
<script
    src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script>
    $(document).ready(function() {
        $("input").click(function() {
            $('<input type="text" name="name" value="value"/>').appendTo('#testdiv');
        });

    });
</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    <div id="testdiv"></div>
    <input type="button" value="Add" />
</body>
</html>
0
Pavan
$(function () {
  $('#Add').click(function () {
    $('<p>Text</p>').appendTo('#Content');
  });
}); 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
 <div id="Content">
    <button id="Add">Add<button>
 </div>
0
prakash tyata

ボタンに関数を追加するなど、より簡単な方法でそれを行うことができ、クリック時に追加のためにその関数を呼び出します。

<div id="Content">
<button id="Add" onclick="append();">Add Text</button>
</div> 
<script type="text/javascript">
function append()
{
$('<p>Text</p>').appendTo('#Content');
}
</script>
0
Amit Joshi