jQueryでdiv要素を作成する[重複]
-
22-08-2019 - |
質問
この質問にはすでに答えがあります:
作成方法 div
の要素 jQuery?
解決
あなたは、またはappend
(親の拳の位置に追加する)(最後の親の位置に追加する)prepend
を使用することができます
$('#parent').append('<div>hello</div>');
// or
$('<div>hello</div>').appendTo('#parent');
異なる回答の中で述べたようにまた、あなたが.html()
や.add()
を使用することができます。
他のヒント
jQueryの1.4の時点で、あなたはそうのような自己閉鎖要素に属性を渡すことができます
jQuery('<div/>', {
id: 'some-id',
"class": 'some-class',
title: 'now this div has a title!'
}).appendTo('#mySelector');
ここでは、のドキュメントのの
であります例としては、の<のhref = "http://net.tutsplus.com/tutorials/javascript-ajax/jquery-1-4-released-the-15-new-features-you-で見つけることができます/」のrel = "noreferrer-知っている必要があります"> jQueryの1.4リリース:15の新機能をあなたは知っている必要がありますのの
技術の$('<div></div>')
はdiv
要素(またはより具体的にDIV DOM要素)を「作成」しますが、HTMLドキュメントに追加しません。その後、(例えばappend()
方法や、そのようなのようなを使用するなど)、実際にそれで便利な何かをするために他の回答と組み合わせてそれを使用する必要があります。
操作ドキュメントには、あなたに新しい要素を追加する方法のすべてのさまざまなオプションを提供します。
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();
});
div = $("<div>").html("Loading......");
$("body").prepend(div);
$("<div/>").appendTo("div#main");
<div id="main"></div>
する空白のdivを追加します。
のdivを作成するための短い方法です。
var customDiv = $("<div/>");
これでカスタムdivが他のdivに追加することができます。
これらのすべては私のために働いた、
HTMLパートます:
<div id="targetDIV" style="border: 1px solid Red">
This text is surrounded by a DIV tag whose id is "targetDIV".
</div>
JavaScriptコード:
//Way 1: appendTo()
<script type="text/javascript">
$("<div>hello stackoverflow users</div>").appendTo("#targetDIV"); //appendTo: Append at inside bottom
</script>
//Way 2: prependTo()
<script type="text/javascript">
$("<div>Hello, Stack Overflow users</div>").prependTo("#targetDIV"); //prependTo: Append at inside top
</script>
//Way 3: html()
<script type="text/javascript">
$("#targetDIV").html("<div>Hello, Stack Overflow users</div>"); //.html(): Clean HTML inside and append
</script>
//Way 4: append()
<script type="text/javascript">
$("#targetDIV").append("<div>Hello, Stack Overflow users</div>"); //Same as appendTo
</script>
$("<div/>").attr('id','new').appendTo('body');
これは、体内に、id "新" で新しいdiv要素を作成します。
document.createElement('div');
ここでjQueryを使ってdivを作成するための別の技術です。
の のELEMENTクローニングのの
(例えば、入力をフォーム内の回数を複製するために)あなたはjQueryのを使用してクローンを作成するページ内の既存のdivを持っていると言います。次のようにあなたはそうするでしょう。
$('#clone_button').click(function() {
$('#clone_wrapper div:first')
.clone()
.append('clone')
.appendTo($('#clone_wrapper'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="clone_wrapper">
<div>
Div
</div>
</div>
<button id="clone_button">Clone me!</button>
メモリー内のDIVを作成します。
$("<div/>");
クリックハンドラを追加し、スタイルなど - そして最後のターゲット要素セレクタへのDOMに挿入ます:
$("<div/>", {
// 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: "<i>!!</i>",
appendTo: "body" // Finally, append to any selector
}); // << no need to do anything here as we defined the properties internally.
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
イアンの答えと同様に、<サブ>が、私ははプロパティは、あなたが行くので、そこ宣言をオブジェクト内の適切に対処なし例方法の使用は、を見つかりませんでした。サブ>
あなたが任意のHTMLタグを作成したいだけであれば、あなたはこれを試すことができます 例えば
var selectBody = $('body');
var div = $('<div>');
var h1 = $('<h1>');
var p = $('<p>');
あなたはこれを試すことができフレイ上で任意の要素を追加したい場合は、
selectBody.append(div);
<div id="foo"></div>
$('#foo').html('<div></div>');
Jquery > 1.4 を使用している場合は、次のものが最適です。 イアンの答え. 。それ以外の場合は、次の方法を使用します。
これは非常によく似ています セロロンの答え, 、でもなぜ使ったのかはわかりません。 document.createElement
JQuery 表記の代わりに。
$("body").append(function(){
return $("<div/>").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;}"));
私も使ってみようと思います append()
この場合、コールバック関数を使用すると、本文に何かが追加されることがすぐにわかるため、より読みやすくなります。ただし、コードやテキストを書くときは常にそうですが、それは好みの問題です。
一般に、JQuery コードはほとんどがスパゲッティ コードであるため、JQuery コードでは使用する HTML をできる限り少なくします。HTML 文字列にはタイプミスが含まれやすいため、エラーが発生しやすく、保守が困難です。また、マークアップ言語 (HTML) とプログラミング言語 (Javascript/Jquery) を混合しますが、これは通常悪い考えです。
代わりに追加します()
あなたはまた、別の構文を持つappendTo()
を使用することができます:
$("#foo").append("<div>hello world</div>");
$("<div>hello world</div>").appendTo("#foo");
あなたは.jquery()
メソッドを使用して別のタグを作成することができます。そして.append()
メソッドを使用して、子タグを作成します。 jQueryのチェーンをサポートしているとして、あなたはまた、二つの方法でCSSを適用することができます。
どちらのクラスでそれを指定するか、単に.attr()
を呼び出します:
var lTag = jQuery("<li/>")
.appendTo(".div_class").html(data.productDisplayName);
var aHref = jQuery('<a/>',{
}).appendTo(lTag).attr("href", data.mediumImageURL);
jQuery('<img/>',{
}).appendTo(aHref).attr("src", data.mediumImageURL).attr("alt", data.altText);
まず、私は私のdivタグにリストタグを追加し、そこにJSONデータを挿入しています。次に、私はリストの子タグを作成しています、いくつかの属性を提供します。私はそれを追加することが簡単になるように、私は、変数に値を割り当てています。
私は、これはdiv要素を追加するための最良の方法だと思います:
のID div_idとdiv要素に試験DIVを追加する
$("#div_id").append("div name along with id will come here, for example, test");
は、今、この追加テストのdivに HTML に追加します
$("#test").append("Your HTML");
それだけで空のdivの場合は、これで十分です。
$("#foo").append("<div>")
または
$("#foo").append("<div/>")
これは、同じ結果が得られます。
私は、コードに役立ちます願っています。 :)(私が使用してください)。
function generateParameterForm(fieldName, promptText, valueType) {
//<div class="form-group">
//<label for="yyy" class="control-label">XXX</label>
//<input type="text" class="form-control" id="yyy" name="yyy"/>
//</div>
// Add new div tag
var form = $("<div/>").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);
}
$(HTMLelement)
それを成功させることができます。空の div が必要な場合は、次のように使用します $('<div></div>');
. 。他の要素も同様の方法で設定できます。作成後に内部HTMLを変更したい場合は、次を使用できます html()
方法。outerHTML を文字列として取得するには、次のように使用できます。
var element = $('<div/>');
var innerHTML = element.html(); // if you want set new HTML use it like this element.html('<b>new HTML</b>');
var outerHTML = element[0].outerHTML;
あなたは新しいの のjQueryののののオブジェクトを作成するために.add()
を使用して、対象要素に追加することができます。さらに進行し、その後の連鎖を使用します。
例えば jQueryApi の
$( "div" ).css( "border", "2px solid red" )
.add( "p" )
.css( "background", "yellow" );
div {
width: 60px;
height: 60px;
margin: 10px;
float: left;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
これはどう?ここで、pElement
は、あなたが内部のこのdiv
がしたい要素を指し(の子であることを!)。
$("pElement").append("<div></div");
あなたは簡単に文字列にそのdiv
に多くのものを追加することができます - 属性、コンテンツ、あなたはそれに名前を付けます。属性値のために、あなたは右の引用符を使用する必要があり、注意してください。
私は、そのための小さな jQueryのプラグインを作りました。
それはあなたの構文に従います:
var myDiv = $.create("div");
の DOM のノードIDは、2番目のパラメータとして指定することができます。
var secondItem = $.create("div","item2");
これは深刻ですか?いいえ。しかし、この構文は、の$( "の
の(部分的からコピーされますか?回答:のjQueryのdocument.createElement同等)の