所以我试图找到答案,但没有成功。
window.onload = function() {
console.log(document.getElementById('#sell'));
if(document.getElementById('#sell')){
alert('jo');
//Init for Vue
}
}
它适用于jQuery但不适用于vanilla JS为什么?
console.log(document.getElementById('#sell'));
结果返回NULL
。
jQuery示例:
if ( $( "#sell" ).length ) {
const app = new Vue({
el: '#sell',
components: { sellPicture }
});
}
在我的sell.blade.php中,它看起来像那样
...
<div id="sell">
<sell-picture></sell-picture>
</div>
....
我的脚本在/ body
之前添加只是一个附带问题。我需要jQuery for Bootstrap,如果我不用它来改变DOM,那么在Vue中使用它也不好吗?
答案 0 :(得分:3)
从id param中删除#,如下所示
sudo
答案 1 :(得分:1)
document.getElementById('#sell')
不需要#
来识别ID。这是您将在jQuery选择器中使用的语法,但DOM选择器将字面上取字符串并将其与ID属性值匹配。 document.getElementByClassName()
也是如此,您不需要.
来识别班级。
Mozilla MDN文档提供了此here的示例。
这应该有效:
window.onload = function() {
console.log(document.getElementById('sell'));
if(document.getElementById('sell')){
alert('jo');
//Init for Vue
}
}
答案 2 :(得分:-1)
请尝试使用
$(document).ready(function(){ console.log($("#sell")); });