问题
I have a script as below
$('.button1').click(function() {
document.location.href=$(this).attr('id');
});
the button1 has variable unique ids. on click, the page must redirect to url "www.example.com/index.php?id=buttonid" but now the page is redirecting only to "button id".
I want to add the string "www.example.com/index.php?id=" before the current url. How can I make this possible?
回答1:
$('.button1').click(function() {
window.location = "www.example.com/index.php?id=" + this.id;
});
First of all using window.location is better as according to specification document.location value was read-only and might cause you headaches in older/different browsers. Check notes @MDC DOM document.location page
And for the second - using attr jQuery method to get id is a bad practice - you should use direct native DOM accessor this.id as the value assigned to this is normal DOM element.
回答2:
$('.button1').click(function() {
document.location.href='/index.php?id=' + $(this).attr('id');
});
回答3:
You need to specify the domain:
$('.button1').click(function() {
window.location = 'www.example.com/index.php?id=' + this.id;
});
回答4:
Why not just change the second line to
document.location.href="www.example.com/index.php?id=" + $(this).attr('id');
回答5:
you can get the current url with window.location.href but I think you will need the jQuery query plugin to manipulate the query string: http://plugins.jquery.com/project/query-object
来源:https://stackoverflow.com/questions/4944387/go-to-link-on-button-click-jquery