Javascript 当某个li是ul中的最后一个li时执行操作
这个也有Javascript 当某个li是ul中的最后一个li时执行操作,javascript,javascript-events,jquery,Javascript,Javascript Events,Jquery,这个也有 行数:0 因此,当单击addmore链接时,fiddle中显示的javascript会附加一个li和一个文本框,当单击remove链接时也会将其删除 当我点击删除链接时,我想检查这是否是ul中的最后一个li,如果是最后一个/唯一的li,我还想删除id为some_name的输入。 你会怎么做?谢谢。$('.add_options')。在('click',函数(){ $('.add_options').on('click', function () { if ( $('#va
行数:0
因此,当单击addmore链接时,fiddle中显示的javascript会附加一个li和一个文本框,当单击remove链接时也会将其删除当我点击删除链接时,我想检查这是否是ul中的最后一个li,如果是最后一个/唯一的li,我还想删除id为some_name的输入。
你会怎么做?谢谢。
$('.add_options')。在('click',函数(){
$('.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();
});
}
});
如果($('#variants>li')。长度<2&(!$('#some_name')。最近('li')。是(':visible')){
$('some_name')。最近('li')。show();
}否则{
var li=$('',{'class':'some_id'}),
inp=$('',{type:'text',id:'prop_name','class':'prop_name',占位符:'Property name'}),
anc=$('$('.add_options')。在('click',function(){
如果($('#variants>li')。长度<2&(!$('#some_name')。最近('li')。是(':visible')){
$('some_name')。最近('li')。show();
}否则{
var li=$('',{'class':'some_id'}),
inp=$('',{type:'text',id:'prop_name','class':'prop_name',占位符:'Property name'}),
anc=$('ul
元素只能将li
元素作为子元素。输入在那里无效。并且id在上下文页面上必须是唯一的您还可以生成重复id的“prop\u name”这是无效的,你可以通过当前li的类索引来检查。很抱歉,忽略这一点,我很快在小提琴上写下了它。即使它在外面,它仍然工作相同。如果开始删除的li是最后一个,隐藏一些名称如果列表元素少于三个,或者换句话说,只剩下两个,它是最后添加的一个,并且打开e从一开始就存在,因此删除最后一个,并隐藏原始元素。ul
元素只能将li
元素作为子元素。输入在那里无效。并且id在上下文页面上必须是唯一的,同时生成重复id的“prop\u name”这是无效的,你可以通过当前li的类索引来检查。很抱歉,忽略这一点,我很快在小提琴上写下了它。即使它在外面,它仍然工作相同。如果开始删除的li是最后一个,隐藏一些名称如果列表元素少于三个,或者换句话说,只剩下两个,它是最后添加的一个,并且打开e那从一开始就存在,所以删除最后一个,并隐藏原来的一个。像老板一样,谢谢!我会尝试一下。很好的编码风格,顺便说一下,我将从中学习很多。这不是也删除类别名称输入吗?-@SkyAlchest你不是说你不能删除对象吗?我不明白really@LightStyle-不,它只是隐藏它!这里有一个只隐藏元素,根本不删除,计数器工作->是的,隐藏,但我错了吗,或者它至少应该保持类别输入可见吗?问题是删除idsome_name
的输入,这就是类别输入,所以我假设在上次添加列表时也要隐藏它元素被删除了?像个老板一样,谢谢!我会试试这个。不错的编码风格,顺便说一句,我会从中学到很多。这不是也删除了类别名称输入吗?-@SkyAlchest你不是说你不能删除对象吗?我不明白really@LightStyle-不,它只是隐藏它!这里有一个只隐藏元素,不移除任何元素l、 使用计数器->是,隐藏,但我错了吗?或者至少应该让类别输入保持可见吗?问题是要删除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();
});
}
});