0

JSFiddle

$(".commentbox").on("click",".btnSave",function(){


         var id = $(this).attr("id").split("-");
            alert(id);
            id.shift();
            alert(id);
            var newString = id.join('-');
            alert(newString);


   });       
});​

输入是btnSave-88eC4B8D2-8F96-4EB5-B42E-08C540D7F171

输出 :88eC4B8D2,8F96-4EB5,B42E,08C540D7F171

虽然它适用于btnReply按钮为什么请帮帮我

4

2 回答 2

0

这是一个技巧问题吗?:)


问题在于这行代码

<input type='button' class='btnSave' value='Save' id='btnSave-" + id + "' /> "

这里传递的 id 实际上是id="btnSave-88C4B8D2,8F96,4EB5,B42E,08C540D7F171"因为 id 是一个数组,并且该数组被转换为逗号分隔的字符串,因为您将其设置为字符串属性。现在你在那个字符串上调用 split(-),它给你“btnSave”和“88C4B8D2,8F96,4EB5,B42E,08C540D7F171”。现在您shift删除 btnSave 留下单个成员“88C4B8D2,8F96,4EB5,B42E,08C540D7F171”,然后在该单个字符串上调用 join("-") ,这根本不会改变任何事情。因此,您所要做的就是像这样更改上面显示的内容

<input type='button' class='btnSave' value='Save' id='btnSave-" + newString + "' /> "

在这里小提琴:http: //jsfiddle.net/naveen/XHr6e/

于 2012-04-22T12:57:28.127 回答
0

我遇到的奇怪问题之一,但逃避 -解决了问题。

var newString = id.join('\-');

用法:演示

$(".commentbox").on("click",".btnSave",function(){
        var id = $(this).attr("id").split("-");
        id.shift();
        var newString = id.join('\-');
        alert(newString);
   });       
});​
于 2012-04-22T12:35:46.287 回答