javascript - Jquery/Javascript 向 div 添加独特的类

标签 javascript jquery html css loops

我在使用 javascript 生成的表格时遇到问题,该表格在页面上显示良好,末尾的 div (bottom_box) 需要具有基于其 html 内容的自定义类。代码如下:

            <script type="text/javascript">
                if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            }
            else {// code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.open("GET", "servicereport2.xml", false);
            xmlhttp.send();
            xmlDoc = xmlhttp.responseXML;

            if (xmlDoc) {
                var x = xmlDoc.getElementsByTagName("ISSUE");
                for (i = 0; i < x.length; i++) {
                    document.write("<div class='box_lrg'><div class='box_top'></div><div class='box_middle'><table border='0'>");
                    document.write("<tr><td class='title'><h2>");
                    document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
                    document.write("</h2></td><td class='issueid'><strong>IssueID: </strong><br />");
                    document.write(x[i].getElementsByTagName("ISSUEID")[0].childNodes[0].nodeValue);
                    document.write("</td><td class='status'><strong>Status: </strong><br />");
                    document.write(x[i].getElementsByTagName("STATUSID")[0].childNodes[0].nodeValue);
                    document.write("</td></tr>");
                    document.write("<tr><td colspan=3 class='description'>");
                    document.write(x[i].getElementsByTagName("TICKETDESCRIPTION")[0].childNodes[0].nodeValue);
                    document.write("</td></tr>");
                    document.write("<tr><td></td><td class='updated'><strong>Last Updated: </strong><br />");
                    document.write(x[i].getElementsByTagName("UPDATEDON")[0].childNodes[0].nodeValue);
                    document.write("</td><td class='author'><strong>Author: </strong><br />");
                    document.write(x[i].getElementsByTagName("AUTHOR")[0].childNodes[0].nodeValue);
                    document.write("</td></tr>");
                    document.write("</table>");
                    document.write("</div><div class='box_bottom'>");
                    document.write(x[i].getElementsByTagName("CATEGORY")[0].childNodes[0].nodeValue);
                    document.write("</div></div>");


                    category = $('.box_bottom').html();
                     if (category == 'Notifications') {
                       $(".box_bottom").addClass("notifications");
                     }
                     category = $('.box_bottom').html();
                     if (category == 'VO')
                     {
                       $(".box_bottom").addClass("VO");
                     }



                }
            }
            else {
                document.write("<h3><span class='blue'>There are no issues at the moment.</span></h3>");
            }

如您所见,JQuery 包含在循环中,但只是将相同的类应用于所有 bottom_box div - 它们都是 CATEGORY XML 标记的第一次出现。 EG 如果第一个“类别”是 VO,第二个是“通知”,那么它们都被应用到 VO。

欢迎任何帮助。

最佳答案

你为什么不这样尝试:

....
if (xmlDoc) {
    var x = xmlDoc.getElementsByTagName("ISSUE");
    for (i = 0; i < x.length; i++) {
        ....
        document.write("</td></tr>");
        document.write("</table>");

        //store the category value in a var
        var category = x[i].getElementsByTagName("CATEGORY")[0].childNodes[0].nodeValue);
        var addClass;

        //check category value and set the class name to add to the div
        if(category == "Notifications")
            addClass = "notifications";
        else if(category == "VO")
            addClass = "VO";

        //add the class to the div
        document.write("</div><div class='box_bottom "+addClass+"'>");
        document.write(category);
        document.write("</div></div>");
        ...

一旦你处理了类别内容,而不是直接将它添加到文档中,首先看看它包含什么,然后将所需的类应用到 div。

希望对你有帮助,如果知道请告诉我

关于javascript - Jquery/Javascript 向 div 添加独特的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16734891/

相关文章:

javascript - 从 iframe 提交表单并在提交后关闭它并显示隐藏的 div

jquery - 使用 jQuery 将数据发送到绝对 URL

javascript - 将 div 元素中多个实例中找到的数字替换为另一个数字

javascript - 在可点击的文章中创建一个可点击的 div (HTML5)

javascript - 使用 jquery $.ajax 构建 WSDL 信封并进行调用

javascript - 我如何告诉谷歌翻译不要翻译网站的某个部分?

html - 如何更改具有文本区域的 html 表中的文本对齐方式

jquery - 高度问题

javascript - NodeJS Needle 处理与 url 和 statusCode 匹配的异步请求数组

javascript - 读取数据属性=未定义?