2

我今天有点不经意,想知道是否有人可以在这里帮助我......

我正在将 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

4 回答 4

0

尝试

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

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

于 2013-02-20T07:48:45.627 回答
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')));
}
于 2013-02-20T07:49:09.490 回答
0

我猜

if ($(this).attr('src') == "images/image2.png") {
 mark.addClass('class')
}
于 2013-02-20T07:52:52.193 回答
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);
});
于 2013-02-20T08:14:03.037 回答