javascript
  • jquery
  • html
  • 2015-10-07 2 views 0 likes 
    0

    Я пытаюсь добавить содержимое в DIV в виде таблицыJavascript HTML теги не добавляя содержание

    <div id="viewcontent"></div> 
    <script> 
    $('#viewcontent').html = $('#viewcontent').html + "<table bgcolor='#CCCCFF' bordercolor='#000000' align='center' width='600' border='1'>"; 
    
    for (var i = 1, len = msg.length; i < len; i=i+6) { 
        if (msg[i+1] == 1) { //misc 
         var rtype = "Miscellaneous" 
         var rcolor = "#CCCCFF" 
        } else if (msg[i+1] == 2) { //verbal 
         var rtype = "Verbal" 
         var rcolor = "#FFF000" 
        } else if (msg[i+1] == 3) { //written 
         var rtype = "Written" 
         var rcolor = "#FFAA00" 
        } else if (msg[i+1] == 4) { //Critical 
         var rtype = "Critical" 
         var rcolor = "#FF0000" 
        } else if (msg[i+1] == 5) { //Positive 
         var rtype = "Positive" 
         var rcolor = "#55FF22" 
        } else if (msg[i+1] == 6) { //Performance Review 
         var rtype = "Performance Review" 
         var rcolor = "#C8C8C8" 
        } 
    
        $('#viewcontent').html = $('#viewcontent').html + "<tr><td colspan='1' align='center' border='1' width='5%'><input type='radio' name='RID' value='" + msg[i+5] + "'></td><td class='file' colspan='1' align='center' border='1' width='20%' bgcolor='" + rcolor + "'><a href='upload_files/" + emp + "/" + msg[i+2] + "'>" + rtype + "</a></td><td colspan='1' align='center' border='1' width='15%'>" + msg[i] + "</td><td colspan='1' align='center' border='1' width='20%'>" + msg[i+4] + "</td><td colspan='1' align='center' border='1' width='40%'>" + msg[i+3] + "</td></tr>"; 
    
    } 
    $('#viewcontent').html = $('#viewcontent').html + "</table>"; 
    </script> 
    

    Это приводит к пустому Div - содержание посылается при использовании innerhtml я получаю содержание без какого-либо теги

    Как добавить к этому содержанию без удаления и сохранения моего HTML

    +2

    Объявите свои переменные ** один раз ** в инструкции 'var' в верхней части вашей функции, а не снова и снова в каждом предложении' if'. – Pointy

    ответ

    1

    Попробуйте следующее

    <div id="viewcontent"></div> 
    
    
    
    <script> 
    $('#viewcontent').html(''); 
          $('#viewcontent').append("<table bgcolor='#CCCCFF' bordercolor='#000000' align='center' width='600' border='1'>"); 
    
           for (var i = 1, len = msg.length; i < len; i=i+6) { 
            if (msg[i+1] == 1) { //misc 
             var rtype = "Miscellaneous" 
             var rcolor = "#CCCCFF" 
            } else if (msg[i+1] == 2) { //verbal 
             var rtype = "Verbal" 
             var rcolor = "#FFF000" 
            } else if (msg[i+1] == 3) { //written 
             var rtype = "Written" 
             var rcolor = "#FFAA00" 
            } else if (msg[i+1] == 4) { //Critical 
             var rtype = "Critical" 
             var rcolor = "#FF0000" 
            } else if (msg[i+1] == 5) { //Positive 
             var rtype = "Positive" 
             var rcolor = "#55FF22" 
            } else if (msg[i+1] == 6) { //Performance Review 
             var rtype = "Performance Review" 
             var rcolor = "#C8C8C8" 
            } 
    
        $('#viewcontent').append("<tr><td colspan='1' align='center' border='1' width='5%'><input type='radio' name='RID' value='" + msg[i+5] + "'></td><td class='file' colspan='1' align='center' border='1' width='20%' bgcolor='" + rcolor + "'><a href='upload_files/" + emp + "/" + msg[i+2] + "'>" + rtype + "</a></td><td colspan='1' align='center' border='1' width='15%'>" + msg[i] + "</td><td colspan='1' align='center' border='1' width='20%'>" + msg[i+4] + "</td><td colspan='1' align='center' border='1' width='40%'>" + msg[i+3] + "</td></tr>"); 
    
    } 
    $('#viewcontent').append("</table>"); 
    </script> 
    

    Надежда, это поможет!

    3

    JQuery .html свойства является функцией:

    $("something").html("some content"); 
    

    Точно так же, если вы хотите получить содержание:

    var theContents = $("something").html(); 
    
    +0

    Практически ** все ** в jQuery - это функция. – Barmar

    +0

    @ Бармар действительно это! Я думаю, что всегда есть '.length' :) – Pointy

    +0

    Не забывайте' .context' и вездесущий '.jquery' –

    Смежные вопросы