click() 不适用于 元素
我有一个元素,并且具有 javascript 中的函数,我希望它“自动单击”,并且它可以工作。但问题是该元素有 href="#something" 并且它不会更改 url。 它应该将哈希值从 http://url.com
更改为 http://url.com/#something
有什么问题吗?
代码非常简单,如下所示:
<ul id="menu">
<li><a href="#something" class="selected">click here</a></li>
<li><a href="#something2">or click here</a></li>
</ul>
//javascript
document.ready(function(){
$('#menu a').each(function(i){
if($(this).attr('class') == 'selected'){
$(this).click();
$(this).css('color', 'yellow');
}
});
});
click() 起作用是因为颜色发生了变化,但 url 的哈希值保持不变。
谢谢大家。
I have an element and with a function in javascript i want it to "auto click", and it works. But the problem is that the element has href="#something" and it doesn't change the url.
It should change the hash from http://url.com
to http://url.com/#something
What is wrong?
The code is very simple is something like this:
<ul id="menu">
<li><a href="#something" class="selected">click here</a></li>
<li><a href="#something2">or click here</a></li>
</ul>
//javascript
document.ready(function(){
$('#menu a').each(function(i){
if($(this).attr('class') == 'selected'){
$(this).click();
$(this).css('color', 'yellow');
}
});
});
The click() works because color change, but the hash the url stays the same.
Thank you all.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以将 window.location.hash='something2' 添加到代码中。它只会更改哈希值 (#something2)
编辑
You can add window.location.hash='something2' to the code. It will only change the hash value (#something2)
EDIT
如果您想更改位置和哈希值,您也可以手动执行此操作,例如
If you want to change the location AND hash you can also do this manually, e.g.
我对此不是很清楚,但它是
为了触发事件,即强制链接导航。
只会将 JavaScript 事件触发到 DOM 中。目前,由于这个原因,此代码不会“自动点击”,
这是所需要的吗?
I'm not hugely clear on this one but it's
to trigger the event i.e. force the link to navigate.
will just fire the JavaScript event into the DOM. Currently this code won't "autoclick" for that reason
Is that what's required?
如果它看起来像这样:
它应该可以工作。
自动化:
if it looks like this:
It should work.
Automated: