![](/img/trans.png)
[英]How can I combine JQuery selectors and variables to shorten code for easier scaleability?
[英]How can I use += with jQuery selectors easier?
我从JS Bin中获取了以下示例:
<p id='js'>Hello, World!</p>`
document.getElementById('js').innerHTML += ' – this was inserted using JavaScript';`
现在,我想对jQuery做同样的事情。 由于我找不到在jQuery选择器上使用+ =的方法(否则我不会问这个问题),这是很长的路要走:
var js = $('#js').html() + ' – this was inserted using JavaScript';
$('#js').html(js);
我使用jQuery,因为它的语法更短,更简单。 但是,这两个代码的长度几乎相同。
这不起作用:
$('#js').innerHTML += ' – this was inserted using JavaScript';
$('#js').append(' – this was inserted using JavaScript');
使用jQuery,您可以改用append
。
您的$('#js').innerHTML += ' – this was inserted using JavaScript';
可以与[0]
一起使用,例如:
$('#js')[0].innerHTML += ' – this was inserted using JavaScript';
// ^^^--- here
...因为您可以通过这种方式访问原始DOM元素。 但是,通过innerHTML
附加内容是一个坏主意,因为它会使浏览器非常难工作:首先,它必须循环遍历其内部DOM,将其序列化为HTML字符串,然后必须在您输入以下内容后重新解释新的HTML。已经完成了+=
。 (授予后者确实非常快,因为将HTML呈现到其内部结构是浏览器的工作,并且浏览器对此进行了高度优化,但前者可能根本不够快。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.