gpt4 book ai didi

javascript - for 循环 4 DOM 元素及其在 JS 中的事件

转载 作者:行者123 更新时间:2023-12-03 03:47:52 24 4
gpt4 key购买 nike

我正在尝试循环这 3 个图像,然后是它们的 ul 和 li。单击后,我遇到了一个问题,即事件处理程序没有监听除第一个图像之外的任何图像。请帮帮我。

Fiddle

JS

var main = function () {

var recipeArray = ['drink', 'firstCourse', 'mainDish', 'dessert'];
var recipeArrayLength = recipeArray.length;
for (var i = 0; i < recipeArrayLength; i++) {

var $checkBoxes = document.createElement('div');
$checkBoxes.setAttribute("class", "checkBoxes");
var $recipePicContainer = document.createElement('span');
$recipePicContainer.setAttribute("class", "recipePicContainer");


function makeRecipePic() {
var recipe = document.createElement("IMG");
recipe.setAttribute("src", "../images/grasshopper-cocktail.jpg");
recipe.setAttribute("class", "recipe");
$recipePicContainer.appendChild(recipe);

}

makeRecipePic();

var mainContainer = document.getElementsByClassName('mainContainer');
mainContainer[0].appendChild($checkBoxes);

var $div = document.createElement('div');
$div.innerHTML = 'CockTails';
$recipePicContainer.appendChild($div);
$checkBoxes.appendChild($recipePicContainer);

var $recipes = document.createElement("ul");
var $checkboxes = document.getElementsByClassName('checkBoxes');

var x = document.createElement("INPUT");
x.setAttribute("type", "checkbox");
}
for (var j = 1; j <= 6; j++) {
var li = document.createElement("li");
li.className = "ingredients";
li.setAttribute("type", "checkbox");


var a = document.createElement("a");
a.innerHTML = "Ingredient " + j;

li.appendChild(a);
$recipes.appendChild(li);
}
var b = document.createElement("li");
li.innerHTML = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
li.className = "Instructions";

$checkboxes[0].appendChild($recipes);
$('.recipes').hide();
$('<input type="checkbox" value="1" />').prependTo(".ingredients");
$('.mainContainer .recipePicContainer').click(function () {
$(this).next('ul').toggle("slow").toggleClass('selected');

});
};
$(document).ready(main);

最佳答案

您仅将 ul 和 li 元素附加到第一个复选框。因此,当其他任何事件的 onclick 事件被触发时,不会显示任何内容。

$checkboxes[0].appendChild($recipes);

您需要将子项附加到其他复选框,就像在此处为第一个复选框所做的那样,以便它们显示某些内容。

关于javascript - for 循环 4 DOM 元素及其在 JS 中的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45296388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com