javascript - 显示页面其他位置的 JavaScript 隐藏元素

标签 javascript jquery ajax codeigniter

更新:我更改了 JavaScript 代码,现在在 iPhone 调试控制台中收到错误。

免责声明:我是 Web 开发新手,不太擅长 JavaScript。

场景:我正在使用 CodeIgniter 构建一个事件日历,并且我在移动设备上隐藏了事件发生时需要在页面其他位置显示的元素。被隐藏的元素是 <ul> s,并且当它们对应 <span> 时,需要将它们显示在页面的另一部分上与类(class) .day_listing_mobile被选中。我一直在使用不同的方法,但我几个小时都找不到解决方案,因为我在 jQuery/Ajax/JavaScript 领域并不强。

问题:需要什么方法才能隐藏<ul>当其相应的 <span> 时,它们将显示在页面的不同部分上s 被选择了吗?

JavaScript(已更新):

(function($) {
    var isMobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));  
    if (isMobile) {
        $('.event_list').hide(); // setting display:none; on all .event_list <ul> elements

        // attach click event to the <span class="day_listing"> elements
        $('.day_listing_mobile').click(function() {
            var eventList = $(this).sibling('.event_list').clone();
            $(this).sibling('.event_list').remove();
            $('#mobile_show_content').append(eventList);
        });
    }

})(jQuery);

我在这行代码中收到此错误 var $eventList = $(this).sibling('.event_list').clone(); :

Debug Console - iPhone

CodeIgniter 日历模板( Controller ):

            {cal_cell_content}      
                <span class="day_listing_mobile">
                    {day}
                </span>
                <ul class="event_list">
                    {content}       
                </ul>
            {/cal_cell_content}

            {cal_cell_content_today}
                <span class="day_listing_mobile" id="today_listing">
                    {day}
                </span>
                <ul class="event_list">
                    {content}   
                </ul>
            {/cal_cell_content_today}

查看:

<div class="row">
    <div class="twelve columns">
        <?php echo $calendar; ?>
    </div>
</div>
<div class="show-on-phones">
    <div class="row">
        <div class="twelve columns" id="mobile_show_content">
           <!--I want the <ul>s to show up here-->  
        </div>
    </div>
</div>

请注意,CodeIgniter 日历类在上面生成,我想在其中显示 <ul> s。

最佳答案

只需修改您的 click 事件即可在 dom 周围移动数据。

  $('.day_listing_mobile').click(function() {
            var eventList = $(this).sibling('.event_list').clone();
            $(this).sibling('.event_list').remove();
            $('.mobile_show_content').append(eventList);
        });

关于javascript - 显示页面其他位置的 JavaScript 隐藏元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8607721/

相关文章:

javascript - 如何用另一个按钮隐藏 DIV 而不是显示它的按钮?

javascript - 如何在嵌套 div 上使用 .click

html - 我如何使用 AJAX 将 pdf 带入 div?

javascript - 如何在谷歌应用程序脚本中使用 if then ?

javascript - 如何在多个标记之间制定路线方向

javascript - 如何重置 ng-model 值?

jquery - Django 抛出错误编号。从 jQuery 接收 POST 时为 10053

javascript - Ember 2,过滤关系模型(hasMany,belongsTo)并根据关系计算计算属性

javascript - 无需用户在浏览器中进行交互即可触发输入值的更改

jquery - 使用 AJAX jQuery 和 SOAP 调用 WebService