我试图理解下面两行不同的代码。我的 javascript 很弱,试图用 jquery 改进它 (hmmmm)
我正在尝试使用 http://dragsort.codeplex.com/ 中的拖动排序插件具体来说,我正在使用 http://dragsort.codeplex.com/SourceControl/changeset/view/74794#1025059例子。
我现在已经到了使用这种方法的阶段
var serialStr = "";
$("#list1 li").each(function(i, elm) {
serialStr = (i > 0 ? "|" : "") + $(elm).children().html();
});
示例如下。
var serialStr = new Array();
$("#list1 li").each(function(i, elm) {
serialStr[] = = $(elm).attr("itemId");
});
我采用第一种方法的原因是我正在测试所有内容以及它们在 HTML 示例中的内容。我现在正在尝试保存状态,所以我转到了 php 示例。
所以我的问题是这里不同线路的主要区别是什么?我对第一行的理解是,它选择了 list1 上 li 标记内的每个子元素,我并没有真正得到 (i > 0 ? "|": "") 位。
在第二个片段中,据我所知,它选择了 list1 li 中带有 itemID 受让人的每个属性?
最佳答案
serialStr[] = (i > 0 ? "|": "") +$(elm).children().html()
是一个简写的 if-clausule。它与以下内容相同:
if(i > 0) {
serialStr[] = "|" +$(elm).children().html();
} else {
serialStr[] = "" +$(elm).children().html();
}
关于javascript - 请语法解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3758741/