使用Jquery按类和ID获取图像元素

时间:2014-03-07 00:30:16

标签: javascript jquery html css

我有一个代码,以某种排列方式显示图像以反映晶圆。当用户单击图像时,会在其周围放置红色边框。然后将此图像ID保存在cookie数组中,当重新加载页面时,这些特定图像需要保留其边框。

我的问题是我无法使用id访问html元素。

例如:

$("#10.3_6").css('border', "solid 2px red");

不起作用。这是我放在边境的方式:

$("tr.smallthumbs a img").click(function() {
        var found = 0;
        for(var j in array){
            if(this.id == array[j]){
                found = j+1;
                break;
            };
        };

        if(found == 0){ 
            $(this).css('border', "solid 2px blue");    
            array.push(this.id); 
            console.log(this)
        }
        else {
            $(this).css('border', "solid 2px white");
            array.splice(found-1,1)

        };
        $.cookie('activePixels',array);
});

这会在所有图像周围显示红色边框。

$("tr.smallthumbs a img").css('border', "solid 2px red");

如何通过ID识别一个?

谢谢!

2 个答案:

答案 0 :(得分:1)

选择器

$("#10.3_6")

表示包含id="10"class="3_6"的元素。如果您想要使用id="10.3_6"访问元素,则需要转义.

$("#10\\.3_6")

为您的ID使用不同的命名方案是个好主意,因为.在选择器中具有这种特殊含义。

答案 1 :(得分:0)

你需要逃避..表示类选择器,因此您使用的选择器会查找标识为10且cass 3_6

的元素
$("#10\\.3_6").css('border', "solid 2px red");

请参阅How do I select an element by an ID that has characters used in CSS notation?