使用jquery将HTML表转换为ul li

Miu*_*nga 4 html jquery html-table html-lists

我想转换HTMLulli元素.我的表结构是

<table>
    <tbody>
        <tr>
            <th>1974</th>
            <td>UK</td>
        </tr>
        <tr>
                <th>1976</th>
            <td>Street</td>
        </tr>
        <tr>
            <th>1976-2002</th>
            <td>visitors.</td>
        </tr>

    </tbody> 
 </table>
Run Code Online (Sandbox Code Playgroud)

我试着将其转换为

        <ul>
            <li>
                <p>1974</p>
                <p>UK</p>
            </li>
            <li>
                    <p>1976</p>
                <p>Street</p>
            </li>
            <li>
                <p>1976-2002</p>
                <p>visitors.</p>
            </li>

        </ul> 
Run Code Online (Sandbox Code Playgroud)

使用jquery replaceWith如下功能.在这里,我首先要转换<tbody>元素.

$(document).ready(function() {
    $("tbody").each(function(){
    var html = $(this).html();
    $(this).replaceWith("<ul>" + html + "</ul>");
    });
)};
Run Code Online (Sandbox Code Playgroud)

但这并没有给出任何肯定的答案.任何人都知道如何做到这一点.

谢谢.

Vik*_* S. 9

我会这样做:

$(document).ready(function() {
    var ul = $("<ul>");
    $("table tr").each(function(){
        var li = $("<li>")
        $("th, td", this).each(function(){
            var p = $("<p>").html(this.innerHTML);
            li.append(p);
        });
        ul.append(li);
    })    
    $("table").replaceWith(ul);    
});
Run Code Online (Sandbox Code Playgroud)

首先创建UL,然后用UL替换表.

演示:http://jsfiddle.net/yXyCk/


Dip*_*mar 6

尝试

$('table').replaceWith( $('table').html()
   .replace(/<tbody/gi, "<ul id='table'")
   .replace(/<tr/gi, "<li")
   .replace(/<\/tr>/gi, "</li>")
   .replace(/<td/gi, "<p")
   .replace(/<\/td>/gi, "</p>")
   .replace(/<th/gi, "<p")
   .replace(/<\/th>/gi, "</p>")
   .replace(/<\/tbody/gi, "<\/ul")
);
Run Code Online (Sandbox Code Playgroud)

以上代码经过测试并为我工作..
干杯

  • 你错过了.只有'td`被替换为p (2认同)