Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 删除前2个内容,标签_Javascript_Jquery - Fatal编程技术网

Javascript 删除前2个内容,标签

Javascript 删除前2个内容,标签,javascript,jquery,Javascript,Jquery,除了第二个标签中的内容外,我如何删除前两个标签中的内容 我的结构是这样的: <ul> <li> Text <label>1#</label> <input type="text" value="" /> </li> <li> Text <label>2#</label> <in

除了第二个标签中的内容外,我如何删除前两个标签中的内容

我的结构是这样的:

<ul>
    <li> 
        Text <label>1#</label> <input type="text" value="" />
    </li>
        <li> 
        Text <label>2#</label> <input type="text" value="" />
    </li>
        <li> 
        Text <label>3#</label> <input type="text" value="" />
    </li>
        <li> 
        Text <label>4#</label> <input type="text" value="" />
    </li>
        <li> 
        Text <label>5#</label> <input type="text" value="" />
    </li>
        <li> 
        Text <label>6#</label> <input type="text" value="" />
    </li>
        <li> 
        Text <label>7#</label> <input type="text" value="" />
    </li>
    
</ul>
必须删除代码并保持这种状态:

<ul>  
    <li> 
        <label>2#</label> 
    </li>
        <li> 
        Text <label>3#</label> <input type="text" value="" />
    </li>
        <li> 
        Text <label>4#</label> <input type="text" value="" />
    </li>
        <li> 
        Text <label>5#</label> <input type="text" value="" />
    </li>
        <li> 
        Text <label>6#</label> <input type="text" value="" />
    </li>
        <li> 
        Text <label>7#</label> <input type="text" value="" />
    </li>
    
</ul>

我的英语糟透了,我希望你能理解我的问题,这对每个人来说都很清楚。

这里有一个可能只是一个关于JQuery的快速课程,但我会选择第三个选项,请参见以下内容:

$('ul li:nth-child(1)').remove();
$('ul li:nth-child(1)').remove(); // child(1) ALSO, BECAUSE #2 HAS NOW BECOME #1 !

// OR MODULAR :
for (i=1; i < 3; i++)
{
    $('ul li:nth-child('+i+')').remove(); // OBVIOUSLY #3 AND #4 ARE REMOVED AS WELL.
}

// YOU CAN CAPTURE AND STORE THE LABEL CONTENT, ERASE THE CONTENT OF THE LI, AND PUT BACK THE LABEL :

for (i=1; i < 3; i++)
{
    var label_content = $('ul li:nth-child('+i+') label').html(); // GETTER
    $('ul li:nth-child('+i+')').html(''); // SETTER (set to empty)
    $('ul li:nth-child('+i+')').html('<label>'+label_content+'</label>'); // REINJECT THE LABEL
}
在这里演奏小提琴:

但看起来您只是想隐藏显示:无您的输入。。。如果是这样,您不妨:

for (i=1; i < 3; i++)
{
    $('ul li:nth-child('+i+') input').css('display':'none');
    $('ul li:nth-child('+i+') input').attr('disabled'); // JUST TO MAKE SURE THIS INPUT IS NOT GOING SUBMITTED
}
或者,第三种选择,清洁剂:

for (i=1; i < 3; i++)
{
    $('ul li:nth-child('+i+') input').remove(); // OBVIOUSLY #3 AND #4 ARE REMOVED AS WELL.
}

这里有一个关于JQuery的可能只是一个简单的教训,但我会选择第三个选项,请参见以下内容:

$('ul li:nth-child(1)').remove();
$('ul li:nth-child(1)').remove(); // child(1) ALSO, BECAUSE #2 HAS NOW BECOME #1 !

// OR MODULAR :
for (i=1; i < 3; i++)
{
    $('ul li:nth-child('+i+')').remove(); // OBVIOUSLY #3 AND #4 ARE REMOVED AS WELL.
}

// YOU CAN CAPTURE AND STORE THE LABEL CONTENT, ERASE THE CONTENT OF THE LI, AND PUT BACK THE LABEL :

for (i=1; i < 3; i++)
{
    var label_content = $('ul li:nth-child('+i+') label').html(); // GETTER
    $('ul li:nth-child('+i+')').html(''); // SETTER (set to empty)
    $('ul li:nth-child('+i+')').html('<label>'+label_content+'</label>'); // REINJECT THE LABEL
}
在这里演奏小提琴:

但看起来您只是想隐藏显示:无您的输入。。。如果是这样,您不妨:

for (i=1; i < 3; i++)
{
    $('ul li:nth-child('+i+') input').css('display':'none');
    $('ul li:nth-child('+i+') input').attr('disabled'); // JUST TO MAKE SURE THIS INPUT IS NOT GOING SUBMITTED
}
或者,第三种选择,清洁剂:

for (i=1; i < 3; i++)
{
    $('ul li:nth-child('+i+') input').remove(); // OBVIOUSLY #3 AND #4 ARE REMOVED AS WELL.
}

这将完全删除第一个列表项,然后删除第二个列表项中除标签以外的所有节点


这将完全删除第一个列表项,然后删除第二个列表项中除标签以外的所有节点


这可能是您的解决方案:

$('ul li label').each(function() {
    $(this).parent().empty().append($(this));
});

Fiddle:

这可能是您的解决方案:

$('ul li label').each(function() {
    $(this).parent().empty().append($(this));
});

Fiddle:

在您的示例中,您删除了整个第一个块。这就是你想要的吗?你没有删除第二个标记,你说你只想保留它的内容?@j08691,@blex Yes,毫无例外地删除了第一个块,而异常只保留第二个块。在你的示例中,你删除了整个第一个块。这就是你想要的吗?你没有移除第二个标签,你说你只想保留它的内容?@j08691,@blex Yes,毫无例外地删除第一个已满数据块,并且该异常仅保留在的第二个数据块。如果我有2个,并且必须首先执行此操作?@user3743128$'ul:eq0 li:nth-child1'@user3743128 Yes如果您只想应用于第一个ul,请添加一个筛选器。否则,它将适用于所有人。在所有回答问题的人中,这把小提琴+1是唯一理解问题的人。有什么问题:$'ul li:nth-child1 input'。删除?如果我有2个,并且必须首先这样做?@user3743128$'ul:eq0 li:nth-child1'@user3743128 Yes如果您只想应用于第一个ul,请添加一个筛选器。否则,它将适用于所有人。在所有回答问题的人中,这把小提琴+1是唯一理解问题的人。有什么问题:$'ul li:nth-child1 input'。删除?