使用JQuery的目标类

时间:2013-04-10 13:04:20

标签: jquery json

我有以下代码,

<span class="rpText">
  <img class="favMenuItemImg" alt="arrow" src="Images/rightArrow.png">
  <b>
     <i>New Products</i>
  </b>
</span>

<span class="rpText">
  <img class="favMenuItemBlankImg" alt="" src="Images/transparent.png">
    Profile
  </span>
</span>

我希望定位favMenuItemBlankImg类,并且仅在有此类时才设置喜欢的图像。

我尝试了以下JQuery: -

for (var i = 0; i < items.get_count() ; i++) {
    if (!$(this).siblings('span.rpText.favMenuItemBlankImg '))
    {
        items.getItem(i).set_imageUrl("Images/favorites_small.png");
    }
}

但这不起作用。

JQUERY UPDATE --------------------------------------------- ------------

if (item.get_text() == "Favorites") {
    panelItem = panel.findItemByText(item.get_text());
    var items = panelItem.get_items();

    for (var i = 0; i < items.get_count() ; i++) {

        $('img.favMenuItemBlankImg').each(function () {
            $(this)[i].getItem(i).set_imageUrl("Images/favorites_small.png");
        });
    }
}

3 个答案:

答案 0 :(得分:1)

使用类查找项目并设置src?

$('img.favMenuItemBlankImg').attr('src',"Images/favorites_small.png");

每条评论的编辑:对于索引值可能是这样的吗?

$('img.favMenuItemBlankImg').each(function(i){
   $(this)[i].set_imageUrl("Images/favorites_small.png");
});

OR

$('img.favMenuItemBlankImg').each(function(i){
   $(this)[i].getItem(i).set_imageUrl("Images/favorites_small.png");
});

答案 1 :(得分:0)

更好的方法是使用title类,使文本粗体和斜体,然后搜索该类。

CSS

.title {
    font-weight: bold;
    font-style: italic;
}

HTML

<span class="rpText">
    <img class="favMenuItemImg" alt="arrow" src="Images/rightArrow.png">
    <span class="title">New Products</span>
</span>

<span class="rpText">
    <img class="favMenuItemImg" alt="" src="Images/transparent.png">
    <span>
        Profile 
    </span>
</span>   

jQuery

$("img.favMenuItemImg").next().each(function() {
    if ($(this).hasClass("title")) {
        //do what you want
    }
});

这是一个演示这个概念的小提琴:http://jsfiddle.net/xAPfu/

答案 2 :(得分:0)

在@tymeJV建议的代码中使用font-weight和font-style肯定会更好,但如果你坚持<b><i>,你可以选择查找“标题”之类的这样:

$.each($('.rpText'),function(i,e){
    if ($(e).find('b').length>0) {
       alert ($(this).html()); //this element has 'b'
    }
});