在jquery中选择一个包含两个属性的元素

https://jsfiddle.net/The95Chaps/2L4t9saq/92/是我的代码

var createGrid=function(s,i,a,e){for(var r=1;r<i+1;r++){for(var c="",n=1;n<s+1;n++){c=c+"
"}c+="
",$("#main").append(c)}$(".pixels").css("background-color","gray"),$(".pixels").css("width",a),$(".pixels").css("height",e)}; var modGrid = function(code){ for(var n=1;n<gridx+1;n++){ for(var i = 1; i<gridy+1; i++){ $("[x="+i+"]") } } } var gridx = 64 var gridy = 64 createGrid(gridx,gridy,1,1)

 

 .inline { display: block } .pixels { display: inline-block } #main { font-size:0; } 

只是忽略顶行,它所做的就是创建数组

所以目前它创建了一个64乘64的网格,每个像素的大小为1个像素,总像素数为4096个像素

在我的modGrid()函数中,它将能够接受一个JS数组,然后将其转换为图像,但我在使用jquery选择器时遇到了一些麻烦。

目前我知道如何选择具有特定属性的元素的唯一方法是使用$("thing[attribute=blah]").somefunction(); 而我只是想知道

因为我选择了2个属性(x和y)我怎么做?:

for(var i){}; 循环它应该能够选择一个具有属性x的像素等于i 并将y归于等于n,并使用 $(selector[x=yada and y=yada).css("background-color","blue"); 将所选像素颜色更改为蓝色 $(selector[x=yada and y=yada).css("background-color","blue");

您不能一次使用两个属性选择器。

但你可以做的就是使用一个…所以你得到了一系列匹配元素。 在此集合中,只需找到与第二个属性匹配的那个。

一个.each()循环就可以了。

 var createGrid=function(s,i,a,e){for(var r=1;r
"}c+="",$("#main").append(c)}$(".pixels").css("background-color","gray"),$(".pixels").css("width",a),$(".pixels").css("height",e)}; var modGrid = function(code){ for(var n=1;n
 .inline { display: block } .pixels { display: inline-block } #main { font-size:0; }