在javascript模式弹出窗口中使用span id替换li类

在javascript模式弹出窗口中使用span id替换li类,javascript,html,bootstrap-4,Javascript,Html,Bootstrap 4,我有一个公文包网页,点击一个项目,一个模式弹出,里面有一个旋转木马画廊 在我的.html页面中,项目分类如下 当模式弹出时,javascript引用回类“Project”。我知道我希望更改此设置,以便在单击id“PopUp”时不会激活模式弹出窗口。当我尝试在Javascript中更改此内容时,它不再起作用。现在我不知道如何解决这个问题。我想说的是,我试图改变id、span和类,但都没有成功 window.onload=函数(){ span=document.queryselectoral(

我有一个公文包网页,点击一个项目,一个模式弹出,里面有一个旋转木马画廊

在我的
.html
页面中,项目分类如下

  • 当模式弹出时,javascript引用回类“Project”。我知道我希望更改此设置,以便在单击id“PopUp”时不会激活模式弹出窗口。当我尝试在Javascript中更改此内容时,它不再起作用。现在我不知道如何解决这个问题。我想说的是,我试图改变id、span和类,但都没有成功

    window.onload=函数(){
    span=document.queryselectoral(#PopUp”);
    document.queryselectoral(#PopUp”).forEach(LIelm=>{
    LIelm.addEventListener('click',showHideMoal)
    })
    };
    函数showHideModal(e){
    如果(!e.target.parentNode.matches('#PopUp,.modal content'))返回
    e、 预防默认值();
    让currentParent=e.target.parentNode;
    if(currentParent.matches(“#弹出窗口”)){
    document.getElementById(currentParent.dataset.modal).style.display=“block”;
    }
    否则{
    currentParent.parentNode.style.display=“”;
    }
    }
  • Irma型 2019

    字体设计
    图像

    模态中的一些文本


  • 您的javascript可能是针对尚未创建的dom元素运行的

    我建议使用jquery。 1.在html页面的标题中加载jquery js。 2.在html页面底部输入以下内容

    <script>
        $( document ).ready(function) {
          //stick you dom manipulation here.
        })
    </script>
    
    
    $(文档).ready(函数){
    //把你粘在这里。
    })
    

    Jquery是健壮的,不依赖于浏览器(旧版本的浏览器除外)。如果jquery无法完成,那么可能根本无法完成。

    Hey@Rich K谢谢!关于你发布的代码窃贼,我有几个问题:1。我应该把什么放在上面写着“//把你粘在这里”的地方?3.我上面发布的javascript打开了一个模式,但我还有另一个javascript文件,它覆盖了模式-是否也应该转换为jQuery?DOM=文档对象模型(在浏览器中是~rendered html Object)。jquery应该无处不在。大多数人使用某种母版页技术。所以他们只需要包含一次。你的问题上面的js代码是DOM操作代码。嘿@Rich K。我已经尝试了你推荐的所有操作,但不幸的是,我没能让它工作:s