使用javascript向HTML标记添加类和id属性

使用javascript向HTML标记添加类和id属性,javascript,html,xml,class,tags,Javascript,Html,Xml,Class,Tags,我已经编写了以下代码来检索要显示的xml数据,但是我想创建一个选项卡来存储这些xml数据,但是我不知道如何使用javascript将类和id属性添加到HTML标记中 我想到的是一个简单的代码,如下所示 document.write("<div></div>"); document.write("<h1><strong>Resources List</strong></h1>"); docume

我已经编写了以下代码来检索要显示的xml数据,但是我想创建一个选项卡来存储这些xml数据,但是我不知道如何使用javascript将类和id属性添加到HTML标记中

我想到的是一个简单的代码,如下所示

document.write("<div></div>");
        document.write("<h1><strong>Resources List</strong></h1>");
        document.write("<nav>");

        document.write("<ul>");
        document.write("</ul>");
        document.write("<li ><a href=#tabs-1>Humans</a></li>");
        document.write("<li ><a href=#tabs-2>Machines</a></li>");
        document.write("</ul>");
document.write(“”);
文档。写(“资源列表””;
文件。填写(“”);
文件。写(“
    ”); 文件。写(“
”); 文件。写(“
  • ”); 文件。写(“
  • ”); 文件。写(“”);
    这有几个问题,显然没有足够的信息来提供可靠的答案,但是在试图提供帮助的过程中,让我从这里开始

    我建议使用jQuery,虽然我不认为它总是正确的答案,但在操作DOM时,它非常频繁

    我不确定导航标签是什么,但我想你想要这样的结构

        <div>
            <h1><strong>Resources List</strong></h1>
            <ul>
                <li ><a href=#tabs-1>Humans</a></li>
                <li ><a href=#tabs-2>Machines</a></li>
            </ul>
        </div>
    

    您应该首先创建一个片段或HTML字符串,然后将其附加到任何元素,而不是继续创建元素并再次将其放在某个地方

    在创建HTML的地方,可以将id、类放在那里。

    以下是一个例子:

    var html = "<div>";
    html += "<h1><strong>Resources List</strong></h1>";
    html += "<nav>";
    html += "<ul>";
    html += "<li id='tab1' class='tabs'><a href='#tabs-1'>Humans</a></li>";
    html += "<li id='tab2' class='tabs'><a href='#tabs-2'>Machines</a></li>";
    html += "</ul>";
    html += "</nav>";
    html += "</div>";
    
    document.body.innerHTML = html;
    
    var html=”“;
    html+=“资源列表””;
    html+=“”;
    html+=“
      ”; html+=“
    • ”; html+=“
    • ”; html+=“
    ”; html+=“”; html+=“”; document.body.innerHTML=html;

    JSIDLE:

    要对哪个元素执行此操作这里有多个问题。。。
    nav
    元素未关闭
    li
    不在
    ul
    ol
    文档中。编写
    通常不是编写面向人类内容的好选择(尤其是因为您在其中编写的所有内容可能都是HTML)。你能举个例子说明你想要什么样的输出吗?我不太擅长这个,但我的输出是显示两个名为“人”和“机器”的选项卡。在html中,内容是类似这样的。而不是
    $(document.createElement('div'))
    ,你可以简单地执行
    $('')
    。我见过这两种方法,我不确定这两种方法中的任何一种是否比另一种都有好处,但我读到的信息说,您可以从“$(document.createElement('div')”中获得更好的性能,因为另一种方法基本上是相同的,上面有一个抽象层。虽然我也没有做过基准测试
    var html = "<div>";
    html += "<h1><strong>Resources List</strong></h1>";
    html += "<nav>";
    html += "<ul>";
    html += "<li id='tab1' class='tabs'><a href='#tabs-1'>Humans</a></li>";
    html += "<li id='tab2' class='tabs'><a href='#tabs-2'>Machines</a></li>";
    html += "</ul>";
    html += "</nav>";
    html += "</div>";
    
    document.body.innerHTML = html;