Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery在具有属性的li元素后插入_Javascript_Jquery_Html_Css - Fatal编程技术网

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)