我正在尝试使用下面的jQuery触发按钮点击页面加载
<script>
jQuery(function(){
jQuery('#clickson').click();
});
</script>
它完美无缺,但我在每个页面上都有这个按钮ID,我怎样才能使用它,只会在主页和子域主页上触发。
例如,它只应在example.com,subdomain1.example.com等任何其他网页上触发example.com,subdomain1.example.com,subdomain2.example.com和 NOT / path,subdomain2.example.com/path
答案 0 :(得分:0)
因为你说你反对硬编码的字符串方法,所以接下来是一小段接受一系列页面的代码。 location.pathname
是域之后和查询字符串之前的url部分。据我所知,它是在我遇到的每个浏览器中实现的。
var pages=['/','/home'];
for(var i=0;i<pages.length;i++)
{
if(location.pathname==pages[i])
{
//do stuff you want here
break; //terminates the loop on first match
}
}
答案 1 :(得分:-1)
使用正则表达式匹配当前网址:
var href = window.location.href;
var regex = /(example\.com)$/i; // find only example.com at the end of URL
if ( regex.test(href) ){
// if passed
// do jQuery stuff here
}
答案 2 :(得分:-1)
尝试检查所选网址的location.href
jQuery(function() {
var loc = location.href;
// if `location.href` is equal to
// "example.com","subdomain1.example.com", "subdomain2.example.com"
// call `.click()` on `#clickson`
if (loc === "example.com"
|| loc === "subdomain1.example.com"
|| loc === "subdomain2.example.com") {
jQuery("#clickson").click();
}
});
jQuery(function() {
if (location.href === "http://stacksnippets.net/js") {
jQuery("#clickson")[0].click();
}
});
&#13;
#home {
display:block;
position:relative;
top:400px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<a id="clickson" href="#home">click</a>
<div id="home">home</div>
&#13;