javascript - 当 li 是英国最后一个时执行操作

标签 javascript jquery jquery-events

我有这个http://jsfiddle.net/mDfQT/15/

<ul id="variants" data-size="0">
    <input type="text" id="some_name" class="some_name" placeholder="category name">
</ul>
    <a href="#" class="add_options" data-id="70281696560900">Add more </a>
Number of rows: <span id="count">0</span>

因此,当单击添加更多链接时, fiddle 中显示的 JavaScript 会附加一个带有文本框的 li,并且当单击删除链接时也会将其删除。

当我单击删除链接时,我想检查这是否是 ul 中的最后一个 li,如果它是最后/唯一的 li,我还想删除 id some_name 的输入。

你会怎么做?

最佳答案

$('.add_options').on('click', function () {
    if ( $('#variants > li').length < 2 && (! $('#some_name').closest('li').is(':visible') )) {
        $('#some_name').closest('li').show();
    }else{
        var li  = $('<li />',    {'class':'some_id'}),
            inp = $('<input />', {type:'text', id:'prop_name', 'class':'prop_name', placeholder:'Property name'}),
            anc = $('<a />',     {href:'#', 'class':'remover', text: 'Remove'});

        $('#variants').append(li.append(inp, anc));

        anc.on('click', function() {
            if ($('#variants > li').length < 3) $('#some_name').closest('li').hide();
            $(this).closest('.some_id').remove();
        });
    }
});

FIDDLE

关于javascript - 当 li 是英国最后一个时执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17260267/

相关文章:

javascript - Jquery Fancybox 高度/向下滚动

javascript - 以编程方式更改复选框不会触发更改事件

javascript - 触发的更改事件未触发 RiotJs 附加处理程序

javascript - next.js:是否可以只为 google bot 和其他爬虫而不为用户做 SSR?

javascript - 我如何使用同一个按钮来实现 fadeOut() 和 fadeIn()?

JavaScript 样式 : which of these things should I pass as arguments to my namespace function?

JavaScript:不区分大小写的数组搜索

javascript - 如何根据所选 ListView 项目使按钮表现不同?

JavaScript 输入查询字符串不接受空格制表符而是字母

javascript - 同一页面上的多个图表(chartjs)、构造函数/原型(prototype)模式代码组织