我想检查一下我是否在某个特定页面上,如果我在该页面内并且存在一个div来做某事。
我知道如何检查特定页面是否存在:if('http://'+location.hostname+location.pathname+'/stats')
我知道检查是否存在特定的div:if($(".div").length) {
但如何在第一个if?
中添加第二个if我试过这个但是没有用:
if('http://'+location.hostname+location.pathname+'/stats') {
if($(".div").length) { //do something;}
}
这可以用jQuery吗?
答案 0 :(得分:0)
您可以使用ajax调用,在成功回调中,您可以检查该div元素是否存在
答案 1 :(得分:0)
您可以使用jQuery.load加载页面并获取特定元素的内容,如下所示:
$( "#result" ).load( "ajax/test.html #container" );
在这里,jQuery将加载test.html
页面并在内部解析,然后返回标识为container
的元素的内容。
答案 2 :(得分:0)
您只是测试此处存在一个字符串(总是评估为true),而不是当前的URL等于您的预期。
if(location.pathname === "/stats" && $(".div").length) {
// Do Something
}
您需要使用equals参数与上面的路径名进行比较。
答案 3 :(得分:0)
如果没有任何服务器端支持,您将不能够达到您想要的效果(除非所有感兴趣的页面都位于同一个域中)。由于Same-origin Policy,浏览器会阻止您使用AJAX收集位于其他域中的内容。
然而,解决方案非常简单:实现执行该任务的服务器端服务,并从客户端应用程序中使用它。如果您不能,则可以使用YQL等在线服务,而不是实施自己的服务。
请注意if ('http://www.some-url-in-string.com')
没有达到预期的效果。字符串不会根据其内容继承任何功能( 1。几乎为真)。我可以创建一个字符串,例如'the-most-important-string-of-all-times'
,JS引擎不会对它进行不同的处理。
1。空字符串是假的,而所有其他字符串都是真实的。
!!''; //false
!!'anything'; //true