2013-02-22 4 views
0

Я создал таблицы Div с дисплеем: table; но не работает ie7 или IE6 .. И я не хочу использовать display-table.htc Hack для этого ...Изменить тег div в таблицу для IE7

Я хочу изменить

"<div class='divTable'> into <table class='divTable'>" 
"<div class='divRow ieclear'> into <tr class='divRow ieclear'>" 
"<div class='divCell'> into <td class='divCell'>" 

Теперь я пытаюсь для преобразования «Div» в «Таблица», если browser.version == 7 || browser.version == 6 ... Я новичок в Jquery ..: D ...

<div id="test">  
    <div class="divTable"> 
      <div class="divRow ieclear"> 
       <div class="divCell">Cell Wording1</div> 
       <div class="divCell">Cell Wording2</div> 
       <div class="divCell">Cell Wording3</div> 
       <div class="divCell">Cell Wording4</div> 
      </div> 
     </div> 
</div> 

CSS // ----

.divTable { 
    font-family: Arial; 
    font-size: 12px; 
    display: table; 
    width: 981px; 
    border: 10px soild #ECECEC; 
    border-spacing: 0px; 
    overflow: hidden; /* border-collapse:separate;*/} 

.divRow { 
    display: table-row; 
    *display: block;* 
    height: 100%; 
    width: 981px; 
} 

.divCell { 
    *float: left;* 
    display: inline-block; 
    display: table-cell; 
    width: 200px; 
    padding: 10px; 
    border-bottom: 1px solid #E9E9E4; 
    border-right: 1px solid #fff; 
    background: #F5F6F0; 
} 

.ieclear { 
    clear: both; 
} 

JQuery //

$(function() { 
    //alert($.browser.version); 
    jQuery("#test").find(".divTable").html('<table class="divTable">' + $(".divTable").html() + "</table>").html(); 
    //or 
    $('div').replaceWith(function() { 
     return $("<table />", { html: $(this).html() }); 
    }); 
}); 

Пожалуйста, предложите мне или помочь мне решить эту проблему ... :)

+0

Очевидный вопрос: почему вы не используете стол? Я бы подумал, что вы просто перебираете дочерние элементы элемента divTable, чтобы получить строки, затем над их дочерними элементами для получения ячеек, а затем над их дочерними элементами для передачи содержимого. Рекурсивная функция должна быть довольно малой. – RobG

+0

Вы измените shoudl на

формат для всех браузеров. Выполнение этого на стороне клиента - действительно плохая идея, особенно если вы делаете это в старых браузерах, потому что они не смогут использовать эту большую часть манипуляций с DOM. Попробуйте сделать это на стороне сервера. –

+0

Спасибо @tea_totaler за ваше ценное предложение. Я знаю, что это не очень хорошая идея ... Но я не могу сделать это в таблице ... Вот почему я разместил здесь ... может быть, у кого-то есть лучшее решение или идея для той же проблемы ... давайте посмотрим .. – Gaurav

ответ

0

пытаются использовать:

position:relative; 
display: table-cell /*IE9+ and other browsers*/; 
display: block /*IE8 and lower*/; 
Смежные вопросы