我有一个按钮,推送时此代码启动:
var nrDivs =“1”
var neuDiv = document.createElement(“div”);
neuDiv.setAttribute(“Id”,“theDiv”+ nrDivs);
neuDiv.innerHTML =“文字”;
$( '#allDivs')附加(neuDiv);newfeed.draw(neuDiv);
我知道现在脚本会创建一个ID为div的新div:theDiv1。 我想要做的是当我第二次单击该按钮时,它会创建一个ID为div的div:.Div2。
每次用户按下按钮时,都应该绘制一个新的div,我正在尝试定位新的div并插入动态文本。
谢谢,Noor
答案 0 :(得分:2)
你可以在这里使用更多的jQuery,但我保持它与你的几乎相同,只添加足以做你想做的事。
请注意,这会计算div
中的所有#allDivs
元素。如果有一些你不想计算,那么必须采取另一种方法。
$(document.ready(function() {
$('#myButton').click(function() { // On page load, assign click event handler to your button
var nrDivs = $('div', '#allDivs').length + 1; // Retrieve all 'div' elements within '#allDivs', and get its length plus 1
var neuDiv = document.createElement("div");
neuDiv.setAttribute("Id","theDiv" + nrDivs);
neuDiv.innerHTML = "Text";
$('#allDivs').append(neuDiv);
newfeed.draw(neuDiv);
});
});
修改强>
更像jQuery的方式:
$(document.ready(function() {
$('#myButton').click(function() { // On page load, assign click event handler to your button
var nrDivs = $('div', '#allDivs').length + 1; // Retrieve all 'div' elements within '#allDivs', and get its length plus 1
var $neuDiv = $('<div>').attr('id','theDiv' + nrDivs)
.text("Text")
.appendTo('#allDivs');
newfeed.draw(neuDiv);
});
});
修改强>
jQuery中的选择器非常强大,并且提供了很大的灵活性。
例如,上面一行获取div
下的所有#allDivs
元素可以重写为:
$('#allDivs div').length + 1;
......这完全一样。
如果您只想获得div
的直接子项#allDivs
元素,请使用:
$('#allDivs > div').length + 1;
或
$('#allDivs').children('div').length + 1;
另一种选择是为这些div
元素提供一个可用作选择器的特殊类。因此,例如,当您创建要添加到div
的新#allDivs
时,请执行以下操作:
var $neuDiv = $('<div>').attr('id','theDiv' + nrDivs)
.addClass('topDiv')
.text("Text")
.appendTo('#allDivs');
现在div
中的顶级#allDivs
元素将有一个名为`topDiv'的类,您可以在选择器中引用它,如下所示:
$('#allDivs .topDiv').length + 1;
...只返回具有类div
的{{1}}个元素。
这只是在jQuery中使用选择器可以做的事情的表面。
希望这有帮助。
答案 1 :(得分:1)
首先,您可以将nDivs设为全局变量,并在每次创建div时将其递增。
您还可以使用jquery选择器获取所有div,然后使用length来获取计数,您可以为新div添加一个。
答案 2 :(得分:0)
要向div添加新ID,请执行此操作。
默认情况下,它是var nr Divs =“1” Onclick do:n ++;
答案 3 :(得分:0)
要么命名nDivs一个全局变量(通常使用全局变量很糟糕,但它可以工作),并且每次运行此代码时都会增加它。
或者更好的是,将此代码设为closure,能够访问nDivs