jquery - $.append();不能从外部 javascript 工作

标签 jquery css

我正在尝试在顶部添加一个导航栏,因为我将有很多单独的 html 文件,所以我想将导航保留在一个文件中,所以如果我进行更改,它会在所有页面中更改。如果我在页面本身中输入代码,它工作得很好,但当它在外部文件中时,它会给出不同的 View 。

Jquery 片段是:

var snippet =   '   <div id="topMainNav">' +
    '   <ul>' +
    '       <li class="mainNav">' +
    '           <a href="" class="navlink">Find a Doctor</a>' +
    '       </li>' +
    '       <li class="mainNav">' +
    '           <a href="" class="navlink">Why Interfaith</a>' +
            '               <div class="dropdown" id="dropdown_one">' +
    '               <div class="subMainNav" style="padding: 10px;">History & Mission</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Executive Director</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Locations & Directions</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Service Centers</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Career Opportunities</div>' +
    '               <div class="subMainNav" style="padding: 10px;">News & Events</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Parking</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Places To Stay</div>' +
    '           </div>' +
    '       </li>' +
    '       <li class="mainNav">' +
    '           <a href="" class="navlink">Medical Services</a>' +
    '           <div class="dropdown" id="dropdown_two">' +
    '               <div class="subMainNav" style="padding: 10px;"><a href="#">Behavioral Health</a></div>' +
    '               <div class="subMainNav" style="padding: 10px;">Clinical Laboratory</div>' +          
    '               <div class="subMainNav" style="padding: 10px;">Dentistry</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Emergency</div>' +      
    '               <div class="subMainNav" style="padding: 10px;">Gynecology</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Medicine</div>' +         
    '               <div class="subMainNav" style="padding: 10px;">Pastoral</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Pediatrics</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Physical Medicine & Rehab</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Radiology</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Surgery</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Other Services</div>' +
    '           </div>' +
    '       </li>' +
    '       <li class="mainNav">' +
    '           <a href="" class="navlink">Medical Trainings</a>' +
    '           <div class="dropdown" id="dropdown_three">' +
    '               <div class="subMainNav" style="padding: 10px;">Medical Training</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Behavioral Health</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Predoctoral Externship</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Podiatric Residency</div>' +          
    '               <div class="subMainNav" style="padding: 10px;">Dental Residency</div>' +
    '               <div class="subMainNav" style="padding: 10px;">Pulmonary Residency</div>' +
    '           </div>' +
    '       </li>' +
    '       <li class="mainNav">' +
    '           <a href="" class="navlink">For Patients & Visitors</a>' +
    '           <div class="dropdown" id="dropdown_four">' +
    '               <p><a href="#">This is a Link</a></p>' +
    '               <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin blandit sodales justo, id fringilla eros dapibus vitae. Morbi molestie enim diam, a vulputate neque. Morbi sit amet nunc.</p>' +
    '           </div>' +
    '       </li>' +
    '       <li class="mainNav">' +
    '           <a href="" class="navlink">Contact Us</a>' +
    '       </li>' +
    '   </ul>' +
    '</div>';

$(function(){$('.writeNav').append (snippet);});

在我的 HTML 页面上,我有以下内容:

calling the external jscript file:
<script type="text/javascript" src="theScriptsStyles/miscScripts.js"></script>

在 html 正文中我有这个:

<div class="writeNav"></div>

它应该做的是,有一个下拉菜单,所以当我将鼠标放在它上面时,它有一个无法使用的下拉菜单。任何人都可以告诉我我做错了什么。

谢谢

最佳答案

我认为,您的脚本甚至在创建 div 之前就已加载。这就是为什么它无法找到该类的元素。/检查是否是这种情况

关于jquery - $.append();不能从外部 javascript 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11460737/

相关文章:

javascript - Facebook - 共享链接无法正常工作 - javascript/jquery

javascript - 如何在页面加载而不是隐藏时保持此 div 可见?

css - 如何添加一个:hover color to AMP dropdown menu

jquery - 如何隐藏我想要的图像,但在同位素中需要时不隐藏

javascript - 使用 jQuery 显示/隐藏 Div

javascript - 激活后保持可折叠图标显示

jquery - 如何使用 JQuery 查找 DOM 选择对象上的选定索引?

javascript - Twig-Template 中的数据表中的静态子行(附加信息)

html - 我不想将 CSS 类的属性应用于列表中的元素

html - 在其中定位 div 和 span 文本