从字符串剥离词

时间:2011-12-29 16:08:53

标签: jquery

可能是一个简单的解决方案,但我没有让它发挥作用。我有一个具有唯一id属性的表。通过按钮,我可以更改表格行的顺序。当我点击一个按钮,我想收到当前的订单。除了第一个值undefined之外,这适用于下面的代码。我怎样才能摆脱那个未定义的价值?


    $("#saveOrder").click(function(e){
        var event = e || window.event;
        event.preventDefault();
        var t = "";
        $("#eventTable tr").each(function(){
            t += $(this).attr("id");
        });
        alert(t);
    });

我尝试了t += $(this).attr("id").replace("undefined","");但是脚本不会alert()任何

3 个答案:

答案 0 :(得分:2)

尝试t += this.id || "";这将用空字符串替换未定义的值。

请注意,您无法在replace上使用undefined,因为undefined不是字符串。您可以通过xString(x)将值x+''转换为字符串表示形式。但是,在这种情况下,这不是必需的。

修改

正如Esailija所指出的,不需要在这里创建一个jQuery对象。

答案 1 :(得分:1)

尝试仅选择具有id的行,如下所示:

$("#eventTable tr[id]").each(function(){ ...

答案 2 :(得分:0)

听起来你有一行没有id属性。你总是可以用旗子跳过它:

var t = "";
var first = true;
$("#eventTable tr").each(function(){
    if (!first) {
        t += $(this).attr("id");
    } else {
        first = false;
    }
});