jquery - 无法在 jquery ui 可排序事件中的 $.each 函数中使用 $(this)

标签 jquery jquery-ui jquery-ui-sortable each

我无法从每个内部获取 $(this)。我试图在移动一行后重置表格的 css。 “#newTaskBody”是 tbody 的 id。 “.newProjectTask”是 s 的类。

// make the table sortable;
$("#newTaskBody").sortable({
    stop: function() {
        var counter = 0;
        $.each(".newProjectTask", function() {
            console.log(this.id);
            if(counter == 0)
            {
                $(this).removeClass("even odd");
                $(this).addClass("even");
                counter = 1;
            }
            else
            {
                $(this).removeClass("even odd");
                $(this).addClass("odd");
                counter = 0;
            }
        });
    }
});

console.log(this.id);尽管我正在使用 4 行进行测试,但返回未定义 15 次。我尝试过“停止”、“更新”和“更改”事件。

最佳答案

您将 string".newProjectTask" 传递给每个函数,而不是具有类 newProjectTask 的元素。每次迭代都会给出字符串的字符,要查看发生了什么,请检查此 demo

改变

$.each(".newProjectTask", function() {

$.each($(".newProjectTask"), function() {

这是您获取每个元素的方法

<强> Live Demo

<div id="div1" class="newProjectTask" > div1 </div>
<div id="div1"  class="newProjectTask" > div2 </div>
<div id="div1"  class="newProjectTask" > div3 </div>


​$.each($(".newProjectTask"), function() {
    alert(this.id)
})

最好使用每个版本的其他版本,即 $('.newProjectTask').each( 而不是您使用的版本。​

$(".newProjectTask").each( function() {
    alert(this.id)
})

关于jquery - 无法在 jquery ui 可排序事件中的 $.each 函数中使用 $(this),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13688385/

相关文章:

javascript - jQuery - ScrollTop 和 On.Click 不工作

javascript - 使用 jquery draggable/droppable 通过类定位特定的 div

jQuery UI 可排序,就像 Windows 资源管理器文件/文件夹列表一样

jquery - 使用 jQuery Sortables 拖动项目时单选按钮被取消选择

javascript - 访问ajax.actionlink "text to display"

javascript - 如何检查按钮是否被点击?

jquery - 如何从 li 列表中的链接获取 href 值?

javascript - 如何将 jQuery UI 工具提示与我的自定义 CSS 一起使用

使用 JSP 和 JAVA 的 jQuery DataTables 服务器端处理

php - jQuery UI Sortable,然后将订单写入数据库