我正在使用Jade,我的HTML模板看起来像这样
.container
.row
form
.span3.input-append(style='margin-top: 30%; margin-left: 30%;')
input#main_search.span2(style='height: 26px; width: 400px;', type='text', id='searchBox' )
input.btn.btn-large.btn-primary(type='button', value='search', id='searchButton')
include partials/scripts
我的scripts.jade包含一堆Javascript函数,包括
$(document).ready(function() {
console.log('foo');
$("searchButton").click(function() {
console.log('sup');
window.location.replace("http://stackoverflow.com");
});
});
控制台输出 -
foo
答案 0 :(得分:5)
将searchButton
更改为#searchButton
。这是一个ID,因此必须以#
为前缀。
答案 1 :(得分:3)
id selector 中缺少#
。它应该是#searchButton
而不是searchButton
$("#searchButton").click(function() {
console.log('sup');
window.location.replace("http://stackoverflow.com");
});
即便你有错误的选择器$("searchButton")
也没有找到任何元素jquery在注册点击处理程序时不会抛出任何错误,而不像document.getElementById
那样结果将是未定义的并访问属性将引发错误。