我有一个脚本如下
$('.button1').click(function() {
document.location.href=$(this).attr('id');
});
button1具有可变唯一ID。点击后,该页面必须重定向到网址“www.example.com/index.php?id=buttonid
”,但现在该网页仅重定向到“button id
”。
我想在当前网址之前添加字符串“www.example.com/index.php?id=
”。我怎样才能做到这一点?
答案 0 :(得分:60)
$('.button1').click(function() {
window.location = "www.example.com/index.php?id=" + this.id;
});
首先使用window.location
更好,因为根据规范document.location
值是只读的,可能会让您在旧版/不同浏览器中感到头痛。查看备注@ MDC DOM document.location page
对于第二种 - 使用attr
jQuery方法获取id是一种不好的做法 - 您应该使用直接本机DOM访问者this.id
,因为分配给this
的值是正常的DOM元素。
答案 1 :(得分:5)
$('.button1').click(function() {
document.location.href='/index.php?id=' + $(this).attr('id');
});
答案 2 :(得分:4)
您需要指定域名:
$('.button1').click(function() {
window.location = 'www.example.com/index.php?id=' + this.id;
});
答案 3 :(得分:2)
为什么不将第二行更改为
document.location.href="www.example.com/index.php?id=" + $(this).attr('id');
答案 4 :(得分:0)
您可以使用window.location.href
获取当前网址,但我认为您需要使用jQuery查询插件来操作查询字符串:http://plugins.jquery.com/project/query-object