Creating a div element in jQuery
如何在jquery中创建
从jquery 1.4开始,可以将属性传递给自关闭元素,如下所示:
1 2 3 4 5 | jQuery('', { id: 'some-id', class: 'some-class', title: 'now this div has a title!' }).appendTo('#mySelector'); |
这是在医生那里
示例可以在jquery 1.4版本中找到:您必须知道的15个新特性。
您可以使用
1 2 3 | $('#parent').append('hello'); // or $('hello').appendTo('#parent'); |
或者,您可以使用不同答案中提到的
从技术上讲,
操作文档提供了关于如何添加新元素的所有选项。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | d = document.createElement('div'); $(d).addClass(classname) .html(text) .appendTo($("#myDiv")) //main div .click(function () { $(this).remove(); }) .hide() .slideToggle(300) .delay(2500) .slideToggle(300) .queue(function () { $(this).remove(); }); |
1 2 | div = $("").html("Loading......"); $("body").prepend(div); |
1 | $("").appendTo("div#main"); |
将在EDOCX1[0]上附加一个空白的div
创建DIV的一个短方法是
1 | var customDiv = $(""); |
现在,自定义DIV可以附加到任何其他DIV。
所有这些都对我有帮助,
HTML部分:
1 | This text is surrounded by a DIV tag whose id is"targetDIV". |
javascript代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | //Way 1: appendTo() <script type="text/javascript"> $("hello stackoverflow users").appendTo("#targetDIV"); //appendTo: Append at inside bottom //Way 2: prependTo() <script type="text/javascript"> $("Hello, Stack Overflow users").prependTo("#targetDIV"); //prependTo: Append at inside top //Way 3: html() <script type="text/javascript"> $("#targetDIV").html("Hello, Stack Overflow users"); //.html(): Clean HTML inside and append //Way 4: append() <script type="text/javascript"> $("#targetDIV").append("Hello, Stack Overflow users"); //Same as appendTo |
1 | $("").attr('id','new').appendTo('body'); |
这将在主体中创建ID为"new"的新DIV。
1 | document.createElement('div'); |
这是另一种用jquery创建div的技术。
元素克隆
假设您的页面中已有一个要使用jquery克隆的DIV(例如,在表单中多次复制输入)。你可以这样做。
1 2 3 4 5 6 | $('#clone_button').click(function() { $('#clone_wrapper div:first') .clone() .append('clone') .appendTo($('#clone_wrapper')); }); |
1 2 3 4 5 6 7 8 | <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> Div <button id="clone_button">Clone me!</button> |
创建内存DIV
1 | $(""); |
添加单击处理程序、样式等,最后将其插入到目标元素选择器中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | $("", { // PROPERTIES HERE text:"Click me", id:"example", "class":"myDiv", // ('class' is still better in quotes) css: { color:"red", fontSize:"3em", cursor:"pointer" }, on: { mouseenter: function() { console.log("PLEASE..."+ $(this).text()); }, click: function() { console.log("Hy! My ID is:"+ this.id); } }, append:"!!", appendTo:"body" // Finally, append to any selector }); // << no need to do anything here as we defined the properties internally. |
1 | <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> |
类似于Ian的答案,但我没有发现任何示例能够正确地解决属性对象声明中方法的使用问题,因此您可以这样做。
如果你想创建任何HTML标签,你可以试试这个例如
1 2 3 4 5 | var selectBody = $('body'); var div = $(''); var h1 = $(''); var p = $('<p> '); |
如果你想在薄片上添加任何元素,你可以试试这个。
1 | selectBody.append(div); |
1 | $('#foo').html(''); |
或者附加()您还可以使用具有不同语法的
1 2 | $("#foo").append("hello world"); $("hello world").appendTo("#foo"); |
如果您使用的是jquery>1.4,那么最好使用Ian的答案。否则,我将使用此方法:
这与Celoron的答案非常相似,但我不知道他们为什么使用
1 2 3 4 5 6 7 8 9 10 11 | $("body").append(function(){ return $("").html("I'm a freshly created div. I also contain some Ps!") .attr("id","myDivId") .addClass("myDivClass") .css("border","solid") .append($("<p/>").html("I think, therefore I am.")) .append($("<p/>").html("The die is cast.")) }); //Some style, for better demonstration if you want to try it out. Don't use this approach for actual design and layout! $("body").append($("<style/>").html("p{background-color:blue;}div{background-color:yellow;}div>p{color:white;}")); |
我还认为,在这种情况下,将
通常,在jquery代码中尽可能少地使用HTML,因为这主要是意大利面代码。它容易出错,并且很难维护,因为HTML字符串很容易包含拼写错误。此外,它还混合了标记语言(HTML)和编程语言(javascript/jquery),这通常是一个坏主意。
您可以使用
1 2 3 4 5 6 7 8 | var lTag = jQuery("<li/>") .appendTo(".div_class").html(data.productDisplayName); var aHref = jQuery('',{ }).appendTo(lTag).attr("href", data.mediumImageURL); jQuery('<img/>',{ }).appendTo(aHref).attr("src", data.mediumImageURL).attr("alt", data.altText); |
首先,我将在DIV标记上附加一个列表标记,并将JSON数据插入其中。接下来,我将创建一个列表的子标记,并提供一些属性。我已经将值赋给了一个变量,这样我就可以很容易地附加它。
我认为这是添加DIV的最佳方法:
要将test div附加到id为div_id的div元素,请执行以下操作:
1 | $("#div_id").append("div name along with id will come here, for example, test"); |
现在将HTML附加到这个添加的测试分区:
1 | $("#test").append("Your HTML"); |
如果它只是一个空的DIV,这就足够了:
1 | $("#foo").append("") |
或
1 | $("#foo").append("") |
结果是一样的。
我希望这对代码有帮助。()(我用)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | function generateParameterForm(fieldName, promptText, valueType) { // //<label for="yyy" class="control-label">XXX</label> //<input type="text" class="form-control" id="yyy" name="yyy"/> // // Add new div tag var form = $("").addClass("form-group"); // Add label for prompt text var label = $("<label/>").attr("for", fieldName).addClass("control-label").text(promptText); // Add text field var input = $("<input/>").attr("type","text").addClass("form-control").addClass(valueType).attr("id", fieldName).attr("name", fieldName); // lbl and inp => form $(form).append(label).append(input); return $(form); } |
1 2 3 | var element = $(''); var innerHTML = element.html(); // if you want set new HTML use it like this element.html('new HTML'); var outerHTML = element[0].outerHTML; |
可以使用
例如jqueryapi:
1 2 3 | $("div" ).css("border","2px solid red" ) .add("p" ) .css("background","yellow" ); |
1 2 3 4 5 6 | div { width: 60px; height: 60px; margin: 10px; float: left; } |
1 | <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> |
这个怎么样?这里,
1 | $("pElement").append("</div"); |
您可以轻松地在字符串属性、内容和命名中向
我刚刚为它做了一个小的jquery插件。
它遵循您的语法:
1 | var myDiv = $.create("div"); |
可以将dom节点id指定为第二个参数:
1 | var secondItem = $.create("div","item2"); |
严重吗?不,但是这个语法比$(")好,而且它对这笔钱来说是一个很好的价值。
(答案部分复制自:jquery document.createElement equivalent?)