我有一系列的jQuery追加,如下所示:

moveControls.append("<span>").find("span").last().addClass("absLeft").text("«");
moveControls.append("<span>").find("span").last().addClass("left").text(" ‹ ");
moveControls.append("<span>").find("span").last().addClass("right").text(" › ");
moveControls.append("<span>").find("span").last().addClass("absRight").text("»");


而且,把它写出来,似乎……凌乱或令人费解。它运行完美,但是我想知道是否应该做些什么。也许是“附加到”,但我仍然需要构造。

我最大的问题是Append->查找刚刚添加的元素->获取最后一个元素->添加类+文本。

我已经在代码中重复了几次,但是作为一个新手,我只是想知道是否存在一种更有效的方法。

如果这个问题太笼统,我深表歉意。 Stackoverflow的新手,这一直是我关心的问题。

最佳答案

一种方法是

$('<span />', {'class': 'absLeft',text: '«'}).appendTo(moveControls);
$('<span />', {'class': 'left',text: ' ‹ '}).appendTo(moveControls);
$('<span />', {'class': 'right',text: ' › '}).appendTo(moveControls);
$('<span />', {'class': 'absRight',text: '»'}).appendTo(moveControls);


但是创建一个字符串并将其附加在末尾会更有效

var arrays = [];
arrays.push('<span class="absLeft">«</span>');
arrays.push('<span class="left"> ‹ </span>');
arrays.push('<span class="right"> › </span>');
arrays.push('<span class="absRight">»</span>');
moveControls.append(arrays.join(''))

关于javascript - 如何优化jQuery附加序列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21718514/

10-12 00:22
查看更多