2

有没有办法将 HTML 结构从table使用divJavaScript、jQuery 或任何其他方式更改?

<table cellspacing="0" cellpadding="0" border="1" style="width: 500px; ">
<tbody>
    <tr><td><strong>CONNECTORS</strong></td><td>&nbsp;</td></tr>
    <tr><td>USB:</td><td>AMC</td></tr>
    <tr><td>Gigabit Ethernet:</td><td>AMC</td></tr> 
    <tr><td>VGA:</td><td>AMC</td></tr>
    <tr><td>RS232:</td><td>AMC</td></tr>
    <tr><td>&nbsp;</td><td>&nbsp;   </td></tr>
    <tr><td><strong>PHYSICAL CHARACTERISTICS</strong></td><td>&nbsp;</td></tr>
    <tr><td>Dimensions:</td><td>220 x 88 x 280mm (WxHxD)</td></tr>
    <tr><td>Weight:</td><td>4,6kg</td></tr>
    <tr><td>Color:</td><td> Green, other optional</td></tr>
    <tr><td>&nbsp;</td><td>&nbsp;   </td></tr>
</tbody>

所以破解后它应该是这样的:

<div style="width:500px">
    <div class="block"> 
        <div><strong>CONNECTORS</strong></div>
        <div class="lft">USB:</div><div class="rght">AMC</div>
        <div class="lft">Gigabit Eithernet</div><div class="rght">AMC</div>    
        <div class="lft">VGA:</div><div class="rght">AMC</div>   
        <div class="lft">RS232:</div><div class="rght">AMC</div>             
    </div>

    <div class="block"> 
        <div><strong>PHYSICAL CHARACTERS</strong></div>
        <div class="lft">Dimensions</div><div class="rght">220 x 88 x 280mm (WxHxD)</div>
        <div class="lft">weight:</div><div class="rght">AMC</div>    
        <div class="lft">Color:</div><div class="rght">AMC</div>   
        <div class="lft">power:</div><div class="rght">9-32VDC</div>             
    </div>  
</div>
4

1 回答 1

0

不确定是个好主意,但你可以做类似的事情。

如果您在桌子周围有一个包装器,例如:

<div id="wrapper">
    <table>
        <tbody>
            <tr><td><strong>CONNECTORS</strong></td><td>&nbsp;</td></tr>
            <tr><td>USB:</td><td>AMC</td></tr>
            <tr><td>Gigabit Ethernet:</td><td>AMC</td></tr>
            ...
        </tbody>
    </table>
</div>

然后:

var content = $('#wrapper').html().replace(/table/g, 'div').replace(/tbody/g, 'div').replace(/tr><td/g, 'div').replace(/td><\/tr/g, 'div');

$('#wrapper').html(content);

我的例子只是为了给你一个想法,你可以用一个正则表达式和一个 replace() 来实现它。

演示:JSFIDDLE


编辑:如果 HTML 保存到数据库中,您可以直接将其替换到数据库中。

SQL Server 示例:

UPDATE myDatabase SET html = REPLACE(html, 'table', 'div') WHERE html LIKE '%table%';
UPDATE myDatabase SET html = REPLACE(html, 'tbody', 'div') WHERE html LIKE '%tbody%';
...

如果该数据库正在生产中,您必须确定您的查询。

于 2013-09-18T10:02:44.960 回答