3

试图获取divs可见的类名,然后prepend获取我得到的类名的小数。任何帮助都会很棒,谢谢。

这是我到目前为止所拥有的。

$('#imagefiles ul li img').click(function() {
    var open = $(".open:visible").attr("class");
    var n = open.split(",");
    alert(n);
});

只有一个div是可见的,并且div有两个类名。
像这样获取类名的全部意义在于,我可以append将图像放到打开的文件夹<div class="edititable">中。当我尝试这段代码时,什么也没有发生。有什么想法吗?

$('#imagefiles ul li img').click(function() {
    //Get the source of the image that was clicked
    var img = $(this).attr('src');

    //Grab the class name of the opened folder and prepend a decimal to it.
    var classes = $(".open:visible").attr("class").split(" ");
    var classesWithDot = "";

    $.each(classes, function (index, value) {
        classesWithDot += " ." + value;
    });

    $(' + classesWithDot + ').find('.edititable').append('<img src="' + img + '" style="width:30%; height:30%;" ">');

});
4

2 回答 2

0

这个怎么样?小提琴:http: //jsfiddle.net/wf9u9/

$('#imagefiles ul li img').click(function() {
   var classes = $(".open:visible").attr("class").split(" ");
   var classesWithDot = "";

   $.each(classes, function (index, value) {
       classesWithDot += " ." + value;
   });

   alert(classesWithDot);
});
于 2013-02-28T20:43:42.277 回答
0

假设有多个 DIV,并且您想要聚合所有唯一的类名。

var result = [];
var uniqueClasses = {};
$(".open:visible").each(function() {
    var lst = $(this).attr('class').split(/\s+/); // this.className would also work
    for(var i=0; i<lst.length; i++)
        uniqueClasses[lst[i]] = true;
});
for(var k in uniqueClasses)
   result.push("." + k);
console.log(result);
console.log(result.join(""));
于 2013-02-28T20:52:21.023 回答