Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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 如果没有匹配的内容,请删除元素及其值_Javascript_Html - Fatal编程技术网

Javascript 如果没有匹配的内容,请删除元素及其值

Javascript 如果没有匹配的内容,请删除元素及其值,javascript,html,Javascript,Html,如果div第1列中的值“banana”与第2列中的任何值都不匹配,我将尝试删除该值及其元素“li”,但如果存在匹配的值,则不应删除该值 不知道如何使用javascript/jquery实现它 以下是我到目前为止已经开始的内容: <div class="container"> <div class="column1"> <ul> <li>apple</li> <li>ba

如果div第1列中的值“banana”与第2列中的任何值都不匹配,我将尝试删除该值及其元素“li”,但如果存在匹配的值,则不应删除该值

不知道如何使用javascript/jquery实现它

以下是我到目前为止已经开始的内容:

<div class="container">
  <div class="column1">
  <ul>
  <li>apple</li>
  <li>banana</li> <!-- remove this element along with its value  if there is no matching content in column2 -->
  <li>orange</li>
  <li>lemon</li>
  </ul>
  </div>
  
  <div class="column2">
  <ul>
  <li>apple</li> 
  <li>banana</li> 
  <li>orange</li>
  <li>lemon</li>
  </ul>
  </div>
</div>

  • 苹果
  • 香蕉
  • 橙色的
  • 柠檬
  • 苹果
  • 香蕉
  • 橙色的
  • 柠檬

感谢您对我的帮助。

解决方案
  • 要解决这个问题,首先从第二个列表中获取所有值并将其存储在数组中

  • 然后检查第一个列表中的元素,检查第二个列表是否包含此元素,如果不包含,则删除此元素

让compArr=[];
document.queryselectoral('.column2>ul>li').forEach((val)=>{
compArr.push(val.childNodes.item(0.nodeValue));
});
document.queryselectoral('.column1>ul>li').forEach((val,ind)=>{
如果(!compArr.includes(val.childNodes.item(0.nodeValue)){
val.remove();
}
});

  • 苹果
  • 香蕉
  • 橙色的
  • 柠檬
  • 苹果
  • 橙色的
  • 柠檬

我想这就是你想要的

 function check()
        {
            var fruitslist1 =document.querySelectorAll(".column1>ul>li");
            var fruitslist2 =document.querySelectorAll(".column2>ul>li");
            var find = false;
            var deletefruit = "banana";
            fruitslist2.forEach(fruitslist => {
                if(fruitslist.innerHTML==deletefruit) find = true;
            });
            
            if(!find)
            {
                fruitslist1.forEach(fruitslist => {
                    if(fruitslist.innerHTML==deletefruit) fruitslist.remove();
                });
            }        
        }

document.evaluate(“//li[text()='banana']”,document,null,XPathResult.FIRST\u ORDERED\u NODE\u TYPE,null)。singleNodeValue!=感谢您的回复,我尝试将其添加为javascript,但似乎不起作用。我需要使用库才能使其工作吗?感谢您的回复,我尝试使用此函数,但它不工作。我认为您应该调用此函数。它在我的设备上工作啊,是的,我错过了那个部分,现在工作了:)非常感谢!不客气