我的哈巴狗,
span
a#survey.afont(href='/disease-description/Endocrinology')= disease_desc.Specialities[i].name
我的js,
var name = document.getElementById('survey');
console.log(name);
当我尝试控制div id的值时,它会变为空。任何人都可以在我犯错的地方建议我帮忙。
答案 0 :(得分:2)
请注意,在Jade / Pug模板中的<script></script>
标记内编写的javascript只会在模板在浏览器中呈现时运行。当解析Jade / Pug文件时,它不会在服务器端运行。
现在,在浏览器端,为了访问该元素,您的脚本应位于页面底部,以便在运行脚本代码时,所有元素都已加载到DOM中。
否则,如果您需要将脚本代码放在头部,只有在使用以下事件加载DOM后才能运行代码:
document.addEventListener("DOMContentLoaded", function(event) {
var name = document.getElementById('survey');
console.log(name);
});
答案 1 :(得分:-1)
通过查看您的代码,我意识到您没有在问题中提到的div
元素。如果您想使用id属性使用javascript从pug文件中获取标签的目标。试试这个:
//Assume this is your Pug File
a(id='survey') Survey //Survey is the value e.g <a id="survey">Survey</a>
//From Here is your javascript
var survey_element = document.getElementById("survey");
//you must remember that survey_element is an object and you can't print it.
//If you want to print the value, then select the value property
console.log(survey_element.value);