有沒有更好的方式jQuery來串連具有字符串「的(如HTML標籤屬性定義),比逃避報價jQuery - 更好的方式來連接有引號的字符串?
Escapy?例如:
$(this).prepend("<label for=\""+$(this).attr("id")+"\">"+"a"+"</label>");
有沒有更好的方式jQuery來串連具有字符串「的(如HTML標籤屬性定義),比逃避報價jQuery - 更好的方式來連接有引號的字符串?
Escapy?例如:
$(this).prepend("<label for=\""+$(this).attr("id")+"\">"+"a"+"</label>");
您可以使用創建($(html, props)
)的對象的方法,如:
$('<label />', { for: this.id, text: 'a' }).prependTo(this);
//or:
$(this).prepend($('<label />', { for: this.id, text: 'a' }));
這有叫.text()
內部,服用保健的優勢任何編碼問題。另外,如果你這樣做了lot,它會更快,因爲HTML片段是一致和緩存的,所以使用節點的克隆,而不是每次將字符串轉換爲文檔片段。你創建的這樣的元素越多,它越快於字符串方法。出於同樣的緩存原因,元素越大(最多512字符串),收益就越大。
+1好的選擇。 – user113716 2010-08-11 22:55:38
更具可讀性 – 2010-08-12 04:54:20
jQuery內部片段緩存+1 +1 0 – jmar777 2010-08-12 12:38:30
可以使用單引用主字符串,然後你就不必逃避雙引號。
$(this).prepend('<label for="'+$(this).attr("id")+'">'+ a +'</label>');
單引號?
$(this).prepend('<label for="'+$(this).attr("id")+'">'+'a'+'</label>');
,或者jQuery的:
$("<label>").attr("for", this.id).text(a).prependTo(this);
這就是爲什麼我主要使用單引號$('here')
。當您處理HTML時不必擔心雙引號。
$('""""No worries!"""""""')
如果你的HTML有像「本·富蘭克林的風箏」這樣的詞怎麼辦? – ina 2010-08-14 04:59:46
好吧,然後你又回到了逃跑。沒有什麼是完美的,對吧?也可以使代碼更簡單。 – 2010-08-14 06:09:48
或什麼時候你需要用PHP回顯它? – 2014-01-29 00:11:18
單引號是絕對要走的路。我建議在javascript中使用它們。特別是使用jQuery時,需要在字符串中使用雙引號比單引號更常用,所以它將爲您節省大量時間並提高可讀性。此外,它可以爲您節省擊鍵,不再需要討厭的Shift鍵:)
HTML標記屬性定義使用單引號? – Adam 2010-08-11 22:45:22
嗡嗡聲我想知道如果jQuery可能有一個函數來處理這樣的字符串 – ina 2010-08-11 22:46:40
對於記錄:'$(this).attr(「id」)'是一個膨脹和冗餘的方式來說'this.id'。 – Tomalak 2010-08-11 23:22:36