У мене є div з тестом id
і через цикл foreach я створюю деякі внутрішні div у тестовому div. Тож стає так.
<div id="test">
<div id="test-1"></div>
<div id="test-2"></div>
<div id="test-3"></div>
<div id="test-4"></div>
</div>
Я отримую батьківський div id "тест" уфункція javascript. Тепер я хочу прокрутити внутрішні div (дочірні divs) тестового div і отримати ідентифікатор кожного div по одному та стилізувати їх через javascript.
Будь-яка ідея з цього приводу?
Відповіді:
7 для відповіді № 1Ви можете прокручувати внутрішні div за допомогою функції jQuery .each (). Наступний приклад робить це, і для кожного внутрішнього div він отримує атрибут id.
$("#test").find("div").each(function(){
var innerDivId = $(this).attr("id");
});
21 для відповіді № 2
Спробуйте це
var childDivs = document.getElementById("test").getElementsByTagName("div");
for( i=0; i< childDivs.length; i++ )
{
var childDiv = childDivs[i];
}
3 для відповіді № 3
Ось рішення, якщо хтось все ще шукає його
function getDivChildren(containerId, elementsId) {
var div = document.getElementById(containerId),
subDiv = div.getElementsByTagName("div"),
myArray = [];
for(var i = 0; i < subDiv.length; i++) {
var elem = subDiv[i];
if(elem.id.indexOf(elementsId) === 0) {
myArray.push(elem.id);
}
}
return myArray;
}
console.log(getDivChildren("test", "test-"));
0 для відповіді № 4
Ви можете використовувати
$("[id^=test-]")
і кожен ()
таким чином, наприклад:
$("[id^=test-]").each(function(){
var atId = this.id;
// do something with it
});
0 для відповіді № 5
Те, що ви намагаєтеся зробити, це прокрутити прямі нащадки div-файлів #test
div; ви зробите це за допомогою >
селектор нащадків та jQuery .each()
ітератор. Ви також можете використовувати jQuery .css()
і .attr()
методи стилізації та отримання ідентифікатора відповідно.
$("#test > div").each(function(index){
var id = $(this).attr("id");
$(this).css(/* apply styles */);
});
-1 для відповіді № 6
Використовуйте jQuery.
Цей код можна адаптувати до ваших потреб:
$testDiv = $("div#test").first();
$("div", $testDiv).css("margin", "50px");