Я хотел бы создать динамические divs с помощью javascript или jquery и не знаю, как быть.
<div id="clickable">
<button class="start">Default</button>
<button class="random">Randon</button>
<button class="gradient">Gradient</button>
<button class="trail">Trail</button>
<button class="clear">Clear</button>
<div id="start">Please click on one of the buttons to get started!</div>
</div>
<div class="wrapper">
</div>
Я хотел бы добавить x * x divs между классом "wrapper". Например, когда кто-то вводит 4, выход будет представлять собой сетку 4x4 div. Заранее спасибо!
В настоящее время у меня это есть, но ничего не происходит.
$(".start").click(function() {
total = prompt("Please enter a number");
});
$(document).ready(function() {
$(".start").click(function() {
function begin(total) {
for (var i = 0; i < total; i++) {
var rows = document.createElement("div");
for (var i = 1; i < rows; i++) {
var columns = document.createElement("div");
}
}
}
});
});
Я обновил здесь скрипку, чтобы вы начали.
Способ создания динамических divs состоит в том, чтобы сначала сделать следующее: Получить дескриптор вашего контейнера. В этом случае это будет $(".wrapper")
Я не знаю, как вы хотите, чтобы сетка была выполнена, но я сделал это, рассматривая каждую строку как один div (с "n" строками) и каждую строку, содержащую "n" столбцов div.
Чтобы создать div, вы можете использовать удобную нотацию $('<div>', {...})
. И когда вы проходите цикл, не забудьте добавить в контейнер.
Держите презентацию в CSS (вы можете видеть, что это было сделано и в скрипке).
Код был скопирован здесь, чтобы вы могли обратиться к нему.
$(".start").click(function () {
total = prompt("Please enter a number");
console.log("Total is", total);
//Now call the grid creator.
createGrid(total);
});
function createGrid(total) {
//Get the wrapper handle.
var $container = $(".wrapper");
//Loop through each row.
for (var rowIndex = 0; rowIndex < total; rowIndex++) {
//Create the skeleton for the row.
var rowId = "row-" + rowIndex; //Not needed.
var $row = $("<div>", {
"class": "row",
"id": rowId
});
//Loop through each column
for (var columnIndex = 0; columnIndex < total; columnIndex++) {
//Create skeleton for the column. (Note: IDs have to be unique)
var columnId = rowIndex + "-col-" + columnIndex; //Not needed.
var $column = $("<div>", {
"class": "column",
"id": columnId
});
//Append to the row div.
$row.append($column);
}
//Finally append this row to the container.
$container.append($row);
}
}