将类添加到特定图像

时间:2013-02-20 07:44:25

标签: jquery xml

我今天有点不用脑子,想知道是否有人可以帮助我...

我正在将XML解析为一个完美运行的JavaScript ......

XML看起来像这样

<test>
    <part background="images/background.png">
        <mark image="images/image1.png"></mark>
        <mark image="images/image2.png"></mark>
    </part>
</test>
在我的JavaScript中我有这样的东西:

$(xml).find('test'>.each(function(){
  var screen = $('<div class="screen"></div>').appendTo(container);
  var list = $('<ul></ul>').appendTo(screen);

$(xml).find('part').each(function() {
   var part = $('<li></li>').appendTo(list);
   part.append($('<img/>).attr('src', $(this).attr('background')));

$(this).find('mark').each(function() {
  var mark = $('<div></div>').appendTo(part);
  mark.append($('<img/>').attr('src', $(this).attr('image')));

现在我想做的是给image2.png一个css课,但正如我之前所说的,我今天有一个nobrainer,所以有人可以告诉我实现这个目标的最简单方法。提前感谢能帮助我的人。

4 个答案:

答案 0 :(得分:0)

$('img[src$="image2.png"]').addClass('theClass');

作为脚本的最后一个命令(在所有追加后)

答案 1 :(得分:0)

喜欢这个?:

if ($(this).attr('image') == "image2.png") {
    mark.append($('<img src="'+$(this).attr('image')+'" class="foo">');
} else {
    mark.append($('<img/>').attr('src', $(this).attr('image')));
}

答案 2 :(得分:0)

我想

if ($(this).attr('src') == "images/image2.png") {
 mark.addClass('class')
}

答案 3 :(得分:0)

像这样修改你的代码(标记部分):

$(this).find('mark').each(function() {
    var mark = $('<div></div>').appendTo(part);
    //Example 1
    mark.append($('<img/>').attr({'src':$(this).attr('image'), 'class':($(this).attr('image')==='image2.png')?'class-name':''}));

    //Example 2
    var img = $('<img/>').attr('src', $(this).attr('image'));
    if($(this).attr('image') === 'image2.png')
        img.addClass('class-name');
    mark.append(img);
});