Jquery 向附加的LI添加插件函数

Jquery 向附加的LI添加插件函数,jquery,jquery-mobile,jquery-plugins,Jquery,Jquery Mobile,Jquery Plugins,我正在编写一个phonegap/jquery移动应用程序,我正在使用swipeButton插件模拟滑动删除操作() 然而,我正在努力将插件函数附加到附加的li 有人能给我指出正确的方向吗 这是我的密码: $('#recordings-list').append('<li data-corners="false" data-shadow="false" data-iconshadow="true" data-icon="arrow-r" data-iconpos="right" class=

我正在编写一个phonegap/jquery移动应用程序,我正在使用swipeButton插件模拟滑动删除操作()

然而,我正在努力将插件函数附加到附加的li

有人能给我指出正确的方向吗

这是我的密码:

$('#recordings-list').append('<li data-corners="false" data-shadow="false" data-iconshadow="true" data-icon="arrow-r" data-iconpos="right" class="ui-btn-icon-right ui-li-has-arrow"><a href="#view" class="ui-link-inherit" data-transition="slidefade">'
    + '<p class="ui-li-aside"><strong>' + resultString + '</strong> <br/> <span class="sync-label">' + syncStatus + '</span></p>'
    + '<h3 class="ui-li-heading">' + results.rows.item(i).name + '</h3>'
    + '<p class="ui-li-desc"><strong>' + results.rows.item(i).notes + '</strong></p>'
    + '<p class="ui-li-desc"> ' + results.rows.item(i).description + '</p>'
    + '</a></li>').swipeDelete({
                direction: 'swiperight', // standard jquery mobile event name
                btnLabel: 'Delete',
                btnTheme: 'b',
                btnClass: 'aSwipeBtn',
                click: function(e){
                    e.preventDefault();
                    alert("Swipey McSwipeo");
                }
            });
$(“#录制列表”)。追加(“
  • )。swipeDelete({ 方向:“swiperight”,//标准jquery移动事件名称 btnLabel:“删除”, b主题:“b”, btnClass:'aSwipeBtn', 点击:功能(e){ e、 预防默认值(); 警报(“Swipey-McSwipeo”); } });
    当前,您正在将插件附加到
    $(“#录制列表”)
    而不是附加的
  • 你应该这样做:

    var $li = $('<li data-corners="false" data-shadow="false" data-iconshadow="true" data-icon="arrow-r" data-iconpos="right" class="ui-btn-icon-right ui-li-has-arrow"><a href="#view" class="ui-link-inherit" data-transition="slidefade">'
        + '<p class="ui-li-aside"><strong>' + resultString + '</strong> <br/> <span class="sync-label">' + syncStatus + '</span></p>'
        + '<h3 class="ui-li-heading">' + results.rows.item(i).name + '</h3>'
        + '<p class="ui-li-desc"><strong>' + results.rows.item(i).notes + '</strong></p>'
        + '<p class="ui-li-desc"> ' + results.rows.item(i).description + '</p>'
        + '</a></li>');
    
    $('#recordings-list').append($li);
    $li.swipeDelete({
                    direction: 'swiperight', // standard jquery mobile event name
                    btnLabel: 'Delete',
                    btnTheme: 'b',
                    btnClass: 'aSwipeBtn',
                    click: function(e){
                        e.preventDefault();
                        alert("Swipey McSwipeo");
                    }
                });
    
    var$li=$(“
  • ”); $(“#录制列表”)。追加($li); $li.swipeDelete({ 方向:“swiperight”,//标准jquery移动事件名称 btnLabel:“删除”, b主题:“b”, btnClass:'aSwipeBtn', 点击:功能(e){ e、 预防默认值(); 警报(“Swipey-McSwipeo”); } });
    代码不起作用的原因是将
    swipeDelete
    链接到
    append
    将调用所附加的选择器上的函数,而不是所附加的新元素

    您可以向链中添加一个遍历方法,如
    .children('li:last')
    ,以将刚刚附加为ElementObject的字符串作为目标

    $('#recordings-list').append('<li>....</li>').children('li:last').swipeDelete() 
    

    您好,谢谢您的快速回答,append在一个循环中,我希望swipeDelete函数添加到每个追加的LI中,您的代码是否仍然有效(请原谅我,我对JS还是新手)。是的,循环的每次传递都只针对刚刚追加的新元素hanks,我已经尝试过了,但是swipe仍然不起作用,这是我正在使用的代码:
    $(“#录制列表”).append(“
  • ”).children('li:last').swipeDelete({direction:'swipright',//标准jquery移动事件名称btnLabel:'Delete',btnTheme:'b',btnClass:'aSwipeBtn',单击:函数(e){e.preventDefault();警报(“Swipey-McSwipeo”)}});
    我如何检查插件是否正在初始化?感谢您的回答-我已经尝试了您的建议,但刷卡事件仍然没有触发-我如何检查插件是否正在初始化?提前感谢
    $(selector).addClass('foo')/* method returns original selector*/
               .parent().css('color','red')/* method returns parent element original selector*/
               .find('p:first').text('test') /*first "p" tag in parent of original selector*/
               .hide() /* still returns first "p" tag" */
               .fadeIn();