Javascript jQuery在具有属性的li元素后插入
我有一份清单:Javascript jQuery在具有属性的li元素后插入,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一份清单: <ul class="customList"> <li data-featured="1">First item</li> <li data-featured="0">Another item</li> <li data-featured="0">Last item..</li> </ul> 对不起,我英语不好 编辑 myCustomItem.insertAf
<ul class="customList">
<li data-featured="1">First item</li>
<li data-featured="0">Another item</li>
<li data-featured="0">Last item..</li>
</ul>
对不起,我英语不好
编辑
myCustomItem.insertAfter('[data featured=“1”]')
看起来似乎正在工作,但如果有任何数据特征值=1,则什么也不会发生。有什么建议吗?使用jQuery[attribute=value]
:
$(“新项目””)。后面插入('.customList-li[data-characterized=“1”]”)代码>
- 第一项
- 另一项
最后一项
首先,当问题是在li
之后插入时,我想说不要使用append()
。检查下面的代码段,首先检查data characterized=1
是否可用,然后在此基础上检查prepend()
或insertAfter()
var标志=false;
$('.customList li')。每个(函数(){
如果($(this).data('featured')=='1'){
flag=true;
}
});
如果(标志){
$(“NEW ITEM ”).insertAfter('.customList li[data featured='1']);
}否则{
$('.customList')。前置(“新项目” ”;
}
- 第一项
- 另一项
最后一项
工作正常,但只需检查添加的项目是否为第一个项目。这可以通过if条件轻松实现。
大概是这样的:
if($('li[data-featured="1"]') != null)
下面是一个示例:您可以首先使用jQuery[attribute=value]:检查li
和data featured=“1”
是否存在。如果存在,则使用jQuery方法在其后面插入新的li,如果不存在,则使用
if($('.customList li[data featured=“1”]”)。长度>0)
{
$(“新项目” ”)。后面插入('.customList-li[data-characterized=“1”]”);
}
其他的
{
$(“新项目” ”)。在('.customList li:first')之前插入;
}
- 第一项
- 另一项
最后一项
您的问题有点不清楚。请再详细说明一下。如果以下任何答案对您有所帮助,请不要忘记单击答案左侧的复选标记进行批准。祝你好运这个答案有效。。为什么downvoted@ProEvilz作为你,我不明白为什么!如果数据特征值为1,则有效,但如果所有li元素的数据特征值为0,则不会发生任何情况。对于上面的示例,您应该非常直截了当地给出一个简单的if语句。我会删除我的答案,因为你是有毒的,所以我不会费心帮忙。在这一点上,它是懒惰的。@MehdiBouzidi告诉你html结构是正确的。通过附加,您将li嵌套在li中!!!当问题是关于在某物后插入时,为什么要使用append()
?几乎在这里,但当我创建else{$('.customList').append(myCustomItem);}
时,else不起作用,为什么?myCustomItem
不能直接起作用,您需要像$('ul')一样编写它。append(myCustomItem )代码>如果myCustomItem是数组,则需要执行循环。迭代数组,然后将其添加回tagNah,如果我写
if($('li[data characterized=“1”]”)!=null){alert('first');}else{alert('second');}并且总是首先得到alert。为什么?
if($('li[data characterized=“1”]”)val()!=null)。。。。你需要像这里显示的那样使用.val()
。太好了!非常感谢你,这对你很有帮助。干杯
newStatus.insertAfter('[data-featured="1"]');
if($('li[data-featured="1"]') != null)