Javascript 无法添加数据";innerHTML";至<;部门>;使用getElementByID()的标记

Javascript 无法添加数据";innerHTML";至<;部门>;使用getElementByID()的标记,javascript,jquery,html,innerhtml,Javascript,Jquery,Html,Innerhtml,我对HTML i1 i2 函数populatehtmlTab1(){ document.getElementById(tab1).innerHTML=document.getElementById(tab1).innerHTML+“h1”; } 函数populatehtmlTab2(){ document.getElementById(tab2).innerHTML=document.getElementById(tab1).innerHTML+“h2”; } 您可以使用: <html&g

我对HTML
<html>
<head>
    <title>Titlehere</title>
    <p> Hello></p>

</head>
<body>
    <div id="tab1" onload="populatehtmlTab1()">
        <p>i1</p>
    </div>

    <div id="tab2" onload="populatehtmlTab2()">
        <p>i2</p>
    </div>

    <script type="text/javascript">
        function populatehtmlTab1() {
            document.getElementById(tab1).innerHTML = document.getElementById(tab1).innerHTML + "<p>h1</p>";
        }

        function populatehtmlTab2() {
            document.getElementById(tab2).innerHTML = document.getElementById(tab1).innerHTML + "<p>h2</p>";
        }
    </script>

</body>
</html>

提尔霍尔
你好>

i1

i2

函数populatehtmlTab1(){ document.getElementById(tab1).innerHTML=document.getElementById(tab1).innerHTML+“h1

”; } 函数populatehtmlTab2(){ document.getElementById(tab2).innerHTML=document.getElementById(tab1).innerHTML+“h2

”; }
您可以使用:

<html>
<head>
    <title>Titlehere</title>
    <p> Hello></p>

</head>
<body>
    <div id="tab1" onload="populatehtmlTab1()">
        <p>i1</p>
    </div>

    <div id="tab2" onload="populatehtmlTab2()">
        <p>i2</p>
    </div>

    <script type="text/javascript">
        function populatehtmlTab1() {
            document.getElementById(tab1).innerHTML = $('#tab1').val() + "<p>h1</p>";
        }

        function populatehtmlTab2() {
            document.getElementById(tab2).innerHTML = $('#tab1').val() + "<p>h2</p>";
        }
    </script>

</body>
</html>

提尔霍尔
你好>

i1

i2

函数populatehtmlTab1(){ document.getElementById(tab1).innerHTML=$('#tab1').val()+“h1

”; } 函数populatehtmlTab2(){ document.getElementById(tab2).innerHTML=$('#tab1').val()+“h2

”; }
您可以使用:

<html>
<head>
    <title>Titlehere</title>
    <p> Hello></p>

</head>
<body>
    <div id="tab1" onload="populatehtmlTab1()">
        <p>i1</p>
    </div>

    <div id="tab2" onload="populatehtmlTab2()">
        <p>i2</p>
    </div>

    <script type="text/javascript">
        function populatehtmlTab1() {
            document.getElementById(tab1).innerHTML = $('#tab1').val() + "<p>h1</p>";
        }

        function populatehtmlTab2() {
            document.getElementById(tab2).innerHTML = $('#tab1').val() + "<p>h2</p>";
        }
    </script>

</body>
</html>

提尔霍尔
你好>

i1

i2

函数populatehtmlTab1(){ document.getElementById(tab1).innerHTML=$('#tab1').val()+“h1

”; } 函数populatehtmlTab2(){ document.getElementById(tab2).innerHTML=$('#tab1').val()+“h2

”; }
这有一些问题。以下是经修订的守则:

函数populatehtmlTab1(){
document.getElementById('tab1').innerHTML=“h1

”; } 函数populatehtmlTab2(){ document.getElementById('tab2').innerHTML=“h2

”; } 函数loadHtml(){ 填充HTMLTAB1(); 填充HTMLTAB2(); }

提尔霍尔
你好>

i1

i2


这有一些问题。以下是经修订的守则:

函数populatehtmlTab1(){
document.getElementById('tab1').innerHTML=“h1

”; } 函数populatehtmlTab2(){ document.getElementById('tab2').innerHTML=“h2

”; } 函数loadHtml(){ 填充HTMLTAB1(); 填充HTMLTAB2(); }

提尔霍尔
你好>

i1

i2

  • div
    元素没有
    onload
    ,因此不会调用您的函数
  • 使用
    insertAdjacentHTML
    进行插入
  • 将字符串传递给
    getElementById

函数populatehtmlTab1(){
document.getElementById(“tab1”).insertAdjacentHTML(“beforeed”,即“h1

”); } 函数populatehtmlTab2(){ document.getElementById(“tab2”).insertAdjacentHTML(“beforeed”,“h2

”; } document.addEventListener(“DOMContentLoaded”,function()){ 填充HTMLTAB1(); 填充HTMLTAB2(); });

i1

i2

  • div
    元素没有
    onload
    ,因此不会调用您的函数
  • 使用
    insertAdjacentHTML
    进行插入
  • 将字符串传递给
    getElementById

函数populatehtmlTab1(){
document.getElementById(“tab1”).insertAdjacentHTML(“beforeed”,即“h1

”); } 函数populatehtmlTab2(){ document.getElementById(“tab2”).insertAdjacentHTML(“beforeed”,“h2

”; } document.addEventListener(“DOMContentLoaded”,function()){ 填充HTMLTAB1(); 填充HTMLTAB2(); });

i1

i2


很抱歉混用jquery

<html>
<head>
    <title>Titlehere</title>
    <p> Hello></p>

</head>
<body>
    <div id="tab1" onload="populatehtmlTab1()">
        <p>i1</p>
    </div>

    <div id="tab2" onload="populatehtmlTab2()">
        <p>i2</p>
    </div>

    <script type="text/javascript">
        function populatehtmlTab1() {
            document.getElementById(tab1).innerHTML = document.getElementById(tab1).value + "<p>h1</p>";
        }

        function populatehtmlTab2() {
            document.getElementById(tab2).innerHTML = document.getElementById(tab1).value + "<p>h2</p>";
        }
    </script>

</body>
</html>

很抱歉混合了jquery

<html>
<head>
    <title>Titlehere</title>
    <p> Hello></p>

</head>
<body>
    <div id="tab1" onload="populatehtmlTab1()">
        <p>i1</p>
    </div>

    <div id="tab2" onload="populatehtmlTab2()">
        <p>i2</p>
    </div>

    <script type="text/javascript">
        function populatehtmlTab1() {
            document.getElementById(tab1).innerHTML = document.getElementById(tab1).value + "<p>h1</p>";
        }

        function populatehtmlTab2() {
            document.getElementById(tab2).innerHTML = document.getElementById(tab1).value + "<p>h2</p>";
        }
    </script>

</body>
</html>

getElementById(tab1)
=>
getElementById('tab1')
选择器必须是string@MysterX:它不是选择器,而是ID。但是的,这就是问题所在。投票以打字错误/不重复的方式结束。您可能想知道为什么没有出现错误。原因是,当您给元素
id
值时,浏览器会为它们创建自动全局变量,因此
tab1
不是未知标识符,而是引用元素实例的全局变量。如果将该元素实例传递到
getElementById
,它将转换为字符串,然后该字符串将用作要查找的ID。而且找不到。:-)(那么为什么不使用自动全局变量呢?在浏览器的全局范围内有太多冲突。最好使用
getElementById
)有目的地检索它们。您可以简化它:
document.getElementById('tab2')。innerHTML+=“h2

@OmSao:“参数化”不是正确的词。如果你的意思是“把它们放在引号里”,那么没有比“把它们放在引号里”更简短的说法了。:-)
getElementById(tab1)
=>
getElementById('tab1')
选择器必须是一个string@MysterX:它不是选择器,而是ID。但是的,这就是问题所在。投票以打字错误/不重复的方式结束。您可能想知道为什么没有出现错误。原因是,当您给元素
id
值时,浏览器会为它们创建自动全局变量,因此
tab1
不是未知标识符,而是引用元素实例的全局变量。如果将该元素实例传递到
getElementById
,它将转换为字符串,然后该字符串将用作要查找的ID。而且找不到。:-)(那么为什么不使用自动全局变量呢?在浏览器的全局范围内有太多冲突。最好使用
getElementById
)有目的地检索它们。您可以简化它:
document.getElementById('tab2')。innerHTML+=“h2

@OmSao:“参数化”不是正确的词。如果你的意思是“把它们放在引号里”,没有比“把它们放在引号里”更简短的说法了:-)不要将javascript与jqueryfunction populatehtmlTab1()混合使用({do