[英]Is there a preferred way of formatting jQuery chains to make them more readable?
鑒於以下示例代碼克隆表行,設置一些屬性,然后將其附加到表:
$("#FundTable").append(
objButton.parents("tr").clone()
.find(".RowTitle").text("Row " + nAddCount).end()
.find(".FundManagerSelect").attr("id", "FundManager" + nAddCount)
.change(function() { ChangeFundRow(); }).end()
.find(".FundNameSelect").attr("id", "FundName" + nAddCount).end()
);
有沒有人有任何關於如何將其格式化為更容易的建議? 這樣做是否有任何公認的慣例?
擁有一套可以遵循的規則並將其納入一組標准將是有用的。
我會重構這個。 我發現超過3種鏈式方法對眼睛不安
var $clonedRow = objButton.parents("tr").clone();
$clonedRow.find(".RowTitle")
.text("Row " + nAddCount);
$clonedRow.find(".FundManagerSelect")
.attr("id", "FundManager" + nAddCount)
.change( ChangeFundRow );
$clonedRow.find(".FundNameSelect")
.attr("id", "FundName" + nAddCount);
$clonedRow.appendTo("#FundTable");
我縮進就好像它被括起來一樣:
$("#FundTable")
.append(objButton.parents("tr")
.clone()
.find(".RowTitle")
.text("Row " + nAddCount)
.end()
.find(".FundManagerSelect")
.attr("id", "FundManager" + nAddCount)
.change(function() {
ChangeFundRow(); // you were missing a semicolon here, btw
})
.end()
.find(".FundNameSelect")
.attr("id", "FundName" + nAddCount)
.end()
)
;
怎么樣:
$("#FundTable").append(
objButton.parents("tr").clone()
.find(".RowTitle").text("Row " + nAddCount)
.end()
.find(".FundManagerSelect").attr("id", "FundManager" + nAddCount)
.change(function() {
ChangeFundRow()
})
.end()
.find(".FundNameSelect").attr("id", "FundName" + nAddCount)
.end()
);
我發現鏈接在適度使用時可以帶來更好的可讀性。
不要鏈這么多。
var newContent = objButton.parents("tr").clone();
newContent.find(".RowTitle").text("Row " + nAddCount)
newContent.find(".FundManagerSelect").attr("id", "FundManager" + nAddCount)
.change(function() { ChangeFundRow() });
newContent.find(".FundNameSelect").attr("id", "FundName" + nAddCount);
$("#FundTable").append(newContent);
較少鏈接,但似乎更容易閱讀imo。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.