jQuery - 更好地连接有引号的字符串?

ina*_*ina 8 javascript string jquery

有没有更好的方法来连接jQuery中具有"(例如HTML标记属性定义)"的字符串而不是转义引号?

Escapy示例:

$(this).prepend("<label for=\""+$(this).attr("id")+"\">"+"a"+"</label>");

Nic*_*ver 10

您可以使用creation($(html, props))的object方法,如下所示:

$('<label />', { for: this.id, text: 'a' }).prependTo(this);
//or:
$(this).prepend($('<label />', { for: this.id, text: 'a' }));
Run Code Online (Sandbox Code Playgroud)

这具有.text()内部调用的优点,可以处理任何编码问题.另外,如果你这样做一个很多,这将是更快,因为HTML片段是一致的缓存,因此节点的克隆使用,而不是每次把一个字符串转换成文档片段.你正在创建的元素越多,它对字符串方法的速度就越快.出于相同的缓存原因,元素越大(最多512个字符串),增益越大.


Jef*_*ing 6

你可以使用单引号作为主字符串,然后你不必转义双引号.

$(this).prepend('<label for="'+$(this).attr("id")+'">'+ a +'</label>');
Run Code Online (Sandbox Code Playgroud)


Ken*_*ler 5

这就是我主要使用单引号的原因$('here').当您使用HTML时,不必担心会不可避免地充满双引号.

$('""""No worries!"""""""')
Run Code Online (Sandbox Code Playgroud)

谷歌的JavaScript风格指南同意.