简体   繁体   English

我想添加带有div元素

[英]I want to add div element with append

I was playing around jQuery and wanted to add div element with append but it doesn't seem to work, it does absolutely nothing when I click on button . 我在玩jQuery,想添加带有append div元素,但是它似乎不起作用,当我单击button时,它绝对没有任何作用。

 $(document).ready(function() { $('#main').on('click', '#btn', function() { var value = $('#main input').val(); var html = '<div id="cont4><p>' + value + '</p></div>'; $('#main').append(html); }) }) 
 #cont4 { width: 290px; height: 600px; background: rgb(30, 33, 33, 0.85); margin-top: 15vh; margin-left: 17vh; border-radius: 25px; transition: 0.35s; color: white; text-align: center; box-shadow: 5px 10px #0c0921; } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="main"> <div id="cont1"> <h1>Basic</h1> <p>Buy <span>Basic</span> packet and get:</p> <p>300 Minutes Talk</p> <p>500 SMS</p> <p>5GB NET<a href="google.com" class="ppp"> More info</a></p> <button>Buy Now !</button> </div> <input>asd <button id="btn">add</button> </div> 

You have a small typo error in your code ;). 您的代码中有一个小的拼写错误;)。 closing " is missing in your append function 您的附加函数中缺少“关闭”

 $(document).ready(function() { $('#main').on('click', '#btn', function() { var value = $('#main input').val(); var html = '<div id="cont4"><p>' + value + '</p></div>'; $('#main').append(html); }) }) 
 #main { background: red; padding: 10px; cursor: pointer; } #cont4 { background: green; padding: 10px; } #btn { background: gray; } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> <div id="main"><input type="text"></input>This is the main container<button id="btn">Button</button></div> 

You need to create a jQuery element for append function. 您需要为append函数创建一个jQuery element Change this 改变这个

'<div id="cont4"><p>' + value +'</p></div>'

to

 $('<div id="cont4"><p>' + value +'</p></div>');

that means you are creating a element from that string. 这意味着您正在根据该字符串创建元素。 then append that to another element. 然后将其附加到另一个元素。

$(document).ready(function() {
            $('#main').on('click', '#btn', function(){
                var value = $('#main input').val();
                var html = $('<div id="cont4"><p>' + value +'</p></div>');
                $('#main').append(html);
            })
})

you missed double quotes for id="cont4" in this line, so use the below line in your js 您在此行中错过了id="cont4"双引号,因此请在您的js中使用以下行

var html = '<div id="cont4"><p>' + value +'</p></div>';

Working code here 这里的工作代码

 $(document).ready(function() { $('#main').on('click', '#btn', function() { var value = $('#main input').val(); var html = '<div id="cont4"><p>' + value + '</p></div>'; $('#main').append(html); }) }) 
 #cont4 { width: 290px; height: 600px; background: rgb(30, 33, 33, 0.85); margin-top: 15vh; margin-left: 17vh; border-radius: 25px; transition: 0.35s; color: white; text-align: center; box-shadow: 5px 10px #0c0921; } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="main"> <div id="cont1"> <h1>Basic</h1> <p>Buy <span>Basic</span> packet and get:</p> <p>300 Minutes Talk</p> <p>500 SMS</p> <p>5GB NET<a href="google.com" class="ppp"> More info</a></p> <button>Buy Now !</button> </div> <input>asd <button id="btn">add</button> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM