在javascript中的Innerhtml

时间:2015-02-19 09:47:11

标签: javascript

我知道innerhtml如何在javascript中工作,如下面的函数。

<html>
    <head>
        <title></title>
    </head>
    <body onLoad="changetext();">

        <div id="pp" onClick="changetext();">Click here</div>
<script>
function changetext(){
 document.getElementById("pp").innerHTML = "New Content!";  
}
</script>
    </body>
</html>

会产生新内容 但我也有许多例子,其中innerhtml +也被用于此链接 http://www.w3schools.com/js/tryit.asp?filename=tryjs_addeventlistener_add_many2

在第二个示例中清除有关innerhtml +用法的内容。 非常感谢

4 个答案:

答案 0 :(得分:2)

elem.innerHTML +="abc"表示它会追加 abc innerHTML elem

elem.innerHTML +="abc"

相当于

elem.innerHTML = elem.innerHTML + "abc"

答案 1 :(得分:1)

如果必须在现有内容中添加新内容,请使用innertHTML+。如果您使用innerHTML = "New Content"替换pp中的所有内容并在其中添加“新内容”,但innerHTML+="New Content"会将其附加到现有内容中。

正如其他人提到的那样innerHTML += "New Content"等同于element.innerHMTL = element.innerHMTL + "New Content",所以这意味着+=基本上用于附加内容。它可用于追加/添加新值,同时可用于增加int值,以便i++ = i+=1 = i = i+1

答案 2 :(得分:0)

+=运算符将文本附加到元素当前内容。

答案 3 :(得分:0)

  

赋值运算符根据其值为其左操作数赋值   右操作数的值。基本赋值运算符是相等的   (=),将其右操作数的值赋给其左操作数。   也就是说,x = y将y的值赋给x。

     

其他赋值运算符是下表中列出的运算的简写:

Shorthand operator  |     Meaning
--------------------------------------
| x += y            |     x = x + y    |
----------------------------------------
| x -= y            |     x = x - y    |
----------------------------------------
| x *= y            |     x = x * y    |
----------------------------------------
| x /= y            |     x = x / y    |
----------------------------------------
| x %= y            |     x = x % y    |
----------------------------------------
| x <<= y           |     x = x << y   |
----------------------------------------
| x >>= y           |     x = x >> y   |
----------------------------------------
| x >>>= y          |     x = x >>> y  |
----------------------------------------
| x &= y            |     x = x & y    |
----------------------------------------
| x ^= y            |     x = x ^ y    |
----------------------------------------
| x |= y            |     x = x | y    |
----------------------------------------

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Expressions_and_Operators#Assignment_operators

规范将这些“速记”运算符定义为复合赋值(op =)

http://ecma-international.org/ecma-262/5.1/#sec-11.13.2

所以基于你的例子,如果:

element.innerHTML = 'foo';

然后:

element.innerHTML += 'bar';

与:

相同
element.innerHTML = element.innerHTML + 'bar';

导致:

console.log(element.innerHTML); // "foobar"