javascript - jquery Sortable 不起作用,但 jsfiddle 可以

标签 javascript jquery jquery-ui

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

https://jsfiddle.net/wba5yko3/

这里是 html 页面的代码,这里是行不通的:

<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>

最佳答案

因为您在元素准备好之前就选择了它。 fiddle 在 window.onload 上运行。

要么将脚本移动到页面底部,使其位于您的元素之后,要么将其包装在文档中。

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

关于javascript - jquery Sortable 不起作用,但 jsfiddle 可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37329372/

相关文章:

javascript - React js 中 document.querySelector 的替代方案

javascript - PHP/AJAX 复选框值

javascript - 带有图像动画的按钮悬停

jquery - 动态更改 jQuery UI 对话框按钮文本

javascript - 使用 HTML5 读取/访问 AppData 文件夹

javascript - Ext.grid.View 在 ext 4 中丢失了配置选项(自动填充)

javascript - jQuery 日期选择器设置格式

javascript - 如何在页面加载时在特定 div 的所有 html 输入中插入一些值?

jquery - 使用jquery在排序中隐藏所有内容

javascript - 如何突出显示与已键入文本匹配的 jQuery 自动完成结果?