jquery可排序不起作用,但jsfiddle确实如此

时间:2016-05-19 16:43:42

标签: javascript jquery jquery-ui

我遇到了一个问题,我正在尝试获取一个表来对行进行排序,但它无法正常工作。当我尝试拖动表格行时,没有任何反应。它必须简单,因为它在jsfiddle中正常工作,但在基本HTML页面上不能。这是小提琴:

https://jsfiddle.net/wba5yko3/

以下是html Page的代码,其中不起作用:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>    
    <link href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
    <script type="text/javascript">
        $("tbody").sortable();
    </script>

    <style type="text/css">
        table {
            border-spacing: collapse;
            border-spacing: 0;
        }
        td {
            width: 50px;
            height: 25px;
            border: 1px solid black;
        }
    </style>

</head>
<body>
<table>
    <tbody>
        <tr>
            <td>1</td>
            <td>2</td>
        </tr>
        <tr>
            <td>3</td>
            <td>4</td>
        </tr>
        <tr>
            <td>5</td>
            <td>6</td>
        </tr>
        <tr>
            <td>7</td>
            <td>8</td>
        </tr>
        <tr>
            <td>9</td>
            <td>10</td>
        </tr>  
    <tbody>    
</table>  
</body>
</html>

1 个答案:

答案 0 :(得分:7)

因为您在准备之前选择了元素。小提琴在window.onload上运行。

将脚本移动到页面底部,使其位于元素之后或将其包装在文档准备就绪中。

$( function () {
    $("tbody").sortable();
});