简体   繁体   中英

jQuery adding new DOM elements having attributes within an element of specific id

Is there a methodToCreate in jQuery which could be written as

    $("#someId").methodToCreate("tagName", ".className");

where an element with tag tagName would be added and given a class className and that too inside a specific element which would have an id someId ?

$("<tag></tag>").addClass("className").attr({id: 'someId'}).appendTo( "body" )

这是和单独设置所有属性的示例。

As pointed out such function doesn't exist, but you could always create one .

(function( $ ){
$.fn.methodToCreate= function(tagName,className,id) {
  $(id).append("<"+tagName+" "+"class="+"\'"+className+"\'>"+"SampleContent"+"</"+tagName+">");
  return this;
}; 
})( jQuery );

and you can call this whenever you want in the following manner :

$(document).ready(function(){
$(document).methodToCreate('p','sampleClass','#someId');
});

Using this function( methodToCreate ) you can dynamically pass the tagName , className and id of the element that you want to append to.

Here is the working fiddle : https://jsfiddle.net/varunsinghal65/udrxeg9m/1/#&togetherjs=TBEnLAnNzJ

Using jQuery you can create an element

var el = $('<tagName class="className"/>');

and then add it to a container

$('#someId').append(el);
$('#someId').append('<tagname class="className"></tagname>');

如果您将类存储在变量中(例如myClass ),请不要忘记引用它:

$('#someId').append('<tagname class="' + myClass + '"></tagname>');

No that method does not exist, but you can use .appendTo

like:

 $("<tagName class='className'></tagName>").appendTo("#someId");

Hope it helps.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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