Jquery 如何在append方法中执行if语句

Jquery 如何在append方法中执行if语句,jquery,append,Jquery,Append,我有一个功能,显示一个弹出窗口,里面有8个缩略图。在弹出窗口中有一个默认拾取的缩略图 我想做的是,在我的循环中,我想检查缩略图rel属性(1到8)。如果它与默认拾取的状态匹配,我想添加一个选定状态 生成8个缩略图的代码: jQuery.each(videos[id], function(i, val) { $ul.append("<li><a rel='"+ (i+1) + "'><img src=" + val + "></a></

我有一个功能,显示一个弹出窗口,里面有8个缩略图。在弹出窗口中有一个默认拾取的缩略图

我想做的是,在我的循环中,我想检查缩略图rel属性(1到8)。如果它与默认拾取的状态匹配,我想添加一个选定状态

生成8个缩略图的代码:

jQuery.each(videos[id], function(i, val) {
    $ul.append("<li><a rel='"+ (i+1) + "'><img src=" + val + "></a></li>");
});
因此,基本上,逻辑(用词)是:

在视频数组中循环,若标记的rel属性等于alreadySelectedThumb[id],那个么将选择的类添加到该标记中


因为它在一个append函数中,我不知道怎么做。

一种可能是反转append调用,使新对象返回

var $image = $("<li><a rel='"+ (i+1) + "'><img src=" + val + "></a></li>").appendTo($ul);

if(whatever){
   $image.children("a").addClass("selected");
}
var$image=$(“
  • ”)。附录($ul); 如果(无论什么){ $image.children(“a”).addClass(“选定”); }

    在我看来,它使代码更整洁。

    我想您正在寻找的是,它只是Javascript(以及许多其他语言)的一部分

    将改为:

    something = (videos[id] == alreadySelectedThumb[id]) ? "FOO" : "BAR";
    
    可以像这样插入到字符串赋值中:

    $ul.append("<li" + 
      ((videos[id] == alreadySelectedThumb[id]) ? ' class="selected" ' : '') +
      "><a rel='" + (i+1) + "'><img src=" + val + "></a></li>");
    
    $ul.append(”);
    
    (很抱歉,我觉得这看起来很混乱,但我相信这正是您想要的)

    jQuery.each(videos[id],function(I,val){
    var appendstr=“”;
    如果(/*选择条件为true*/)
    appendstr=“
  • ” 其他的 appendstr=“
  • ” $ul.追加(附录STR); });
    这看起来像是一份适合年轻人的工作

    jQuery.each(视频[id],函数(i,val){
    变量类=(i+1)==alreadySelectedThumb[id]?'myClass':'';
    $ul.追加(“
  • ”); });
    看起来不错,但那不行!所选类永远不会被添加!
    something = (videos[id] == alreadySelectedThumb[id]) ? "FOO" : "BAR";
    
    $ul.append("<li" + 
      ((videos[id] == alreadySelectedThumb[id]) ? ' class="selected" ' : '') +
      "><a rel='" + (i+1) + "'><img src=" + val + "></a></li>");
    
    jQuery.each(videos[id], function(i, val) {
        var appendstr ="";
        if(/*select condition is true*/)
         appendstr  = "<li><a rel='"+ (i+1) + "'><img src=" + val + " class='selectclass'></a></li>"
        else
        appendstr  = "<li><a rel='"+ (i+1) + "'><img src=" + val + "></a></li>"
        $ul.append(appendstr);
    });
    
    jQuery.each(videos[id], function(i, val) {
        var class = (i+1) === alreadySelectedThumb[id] ? 'myClass' : '';
        $ul.append("<li><a rel='"+ (i+1) + "' class='"+ class +"' ><img src=" + val + "></a></li>");
    });