Jquery 分别向每个li添加一个子项
我正在尝试为列表中的每个项目分别添加一个窗帘div。我可以轻松地为每个项目添加一个div,包括:Jquery 分别向每个li添加一个子项,jquery,html,css,appendchild,Jquery,Html,Css,Appendchild,我正在尝试为列表中的每个项目分别添加一个窗帘div。我可以轻松地为每个项目添加一个div,包括: $("ul li a").append('<div class="curtain"></div>'); 目前不适用于此,我不确定原因。您可以使用键入的同一行,但需要进行一些编辑: $("ul li")each(function() { var new_div=$('<div class="curtain"></div>'); //
$("ul li a").append('<div class="curtain"></div>');
目前不适用于此,我不确定原因。您可以使用键入的同一行,但需要进行一些编辑:
$("ul li")each(function()
{
var new_div=$('<div class="curtain"></div>');
// get the color with your code
new_div.css({"background":'rgb('+rgb.r+','+rgb.g+','+rgb.b+')'})
//$(this) is an (ul li) item
$(this).find("a").append(new_div);
});
$(“ul li”)每个(函数()
{
var new_div=$('');
//使用代码获取颜色
新的_div.css({“背景”:'rgb('+rgb.r+'、'+rgb.g+'、'+rgb.b+'))
//$(这)是一个(ul li)项目
$(this.find(“a”).append(new_div);
});
通过稍微修改窗帘
函数来循环使用每个
(并使用jQuery选择器),应该可以轻松地纠正问题
function curtain(){
$('ul li').each(function(){ //loop through each `ul li` element
var $a = $('a', this), //find the `a` element in `li` equivalent to `$(this).find('a')`
img = $('img', this)[0], //get the element from the jQuery object
$div = $('<div class="curtain" />'), //create a new div with your class curtain
rgb = new ColorFinder(function favorHue(r,g,b){ //get rgb from your class
//exclude white
//if (r>245 && g>245 && b>245) return 0;
return (Math.abs(r-g)*Math.abs(r-g) + Math.abs(r-b)*Math.abs(r-b) + Math.abs(g-b)*Math.abs(g-b))/65535*50+1;
}).getMostProminentColor(img);
if(rgb.r && rgb.g && rgb.b){
$div.css('background', 'rgb('+rgb.r+','+rgb.g+','+rgb.b+')');
}
$a.append($div); //append div to the `a` element
});
};
功能窗帘(){
$('ul li')。每个(function(){//循环遍历每个'ul li'元素
var$a=$('a',this),//在'li'中找到与`$(this)等价的'a'元素`
img=$('img',this)[0],//从jQuery对象获取元素
$div=$(“”),//用类创建一个新的div
rgb=newcolorfinder(函数favorHue(r,g,b){//从类中获取rgb
//排除白色
//如果(r>245&&g>245&&b>245)返回0;
返回值(Math.abs(r-g)*Math.abs(r-g)+Math.abs(r-b)*Math.abs(r-b)+Math.abs(g-b)*/65535*50+1;
}).getMostProminentColor(img);
if(rgb.r&&rgb.g&&rgb.b){
$div.css('background'、'rgb('+rgb.r+'、'+rgb.g+'、'+rgb.b+'));
}
$a.append($div);//将div附加到'a'元素
});
};
$(“选择器”).each(function(){$(this).append(“”);}
如果您使用jQuery,为什么要做类似于document.getElementByTagName('ul li');
文档的事情呢?文档。getElementByTagName
甚至不存在,它是文档.getElementsByTagName
,只有在您给它一个标记名(即“ul”)时才有效或“李”)
function curtain(){
$('ul li').each(function(){ //loop through each `ul li` element
var $a = $('a', this), //find the `a` element in `li` equivalent to `$(this).find('a')`
img = $('img', this)[0], //get the element from the jQuery object
$div = $('<div class="curtain" />'), //create a new div with your class curtain
rgb = new ColorFinder(function favorHue(r,g,b){ //get rgb from your class
//exclude white
//if (r>245 && g>245 && b>245) return 0;
return (Math.abs(r-g)*Math.abs(r-g) + Math.abs(r-b)*Math.abs(r-b) + Math.abs(g-b)*Math.abs(g-b))/65535*50+1;
}).getMostProminentColor(img);
if(rgb.r && rgb.g && rgb.b){
$div.css('background', 'rgb('+rgb.r+','+rgb.g+','+rgb.b+')');
}
$a.append($div); //append div to the `a` element
});
};