javascript - 如何检查当前页面上是否存在元素
问题描述
我想检查我的元素是否存在于当前页面上。例如,我有一个功能来检查一个元素是否存在并且它。但是当我将页面离开到另一个页面时,功能不会重新加载。我收到了这个错误信息:
$(document).bind('scroll', function (ev) {
10 | var scrollOffset = $(document).scrollTop();
> 11 | var containerOffset = $('.aboutTop .left').offset().top - window.innerHeight;
12 | if (scrollOffset > containerOffset) {
13 | $('.aboutTop .left').addClass('load');
14 | }
我检查了我的地址,window.location.href
这是我的代码:
var $ = require('jquery/dist/jquery.min.js');
var pathname = window.location.href;
var p = pathname.replace(/[^a-z0-9A-Z]/gi,'');
console.log("milad");
console.log(p);
if (p != 'httplocalhost3000'){
console.log("mohammad");
} else{
$(document).bind('scroll', function (ev) {
var scrollOffset = $(document).scrollTop();
var containerOffset = $('.aboutTop .left').offset().top - window.innerHeight;
if (scrollOffset > containerOffset) {
$('.aboutTop .left').addClass('load');
}
});
$(document).bind('scroll', function (ev) {
var scrollOffset = $(document).scrollTop();
var containerOffset = $('.download .buttons').offset().top - window.innerHeight;
if (scrollOffset > containerOffset) {
$('.download .buttons').addClass('load');
}
});
$(document).bind('scroll', function (ev) {
var scrollOffset = $(document).scrollTop();
var containerOffset = $('.download .buttons').offset().top - window.innerHeight;
if (scrollOffset > containerOffset) {
$('.download .buttons').addClass('load');
}
});
}
然后我想用 ref 检查元素,但我在 ref 中找不到偏移元素。
This is my function :
var pathname = window.location.href;
console.log(pathname);
if (pathname != 'http://localhost:3000/#/') {
} else if (pathname == 'http://localhost:3000/#/'){
if(this.state.flag){
$(document).bind('scroll', (ev) => {
var scrollOffset = $(document).scrollTop();
var containerOffset = this.myCountUp.spanElement.offsetTop - window.innerHeight;
if (scrollOffset > containerOffset) {
if (this.state.flag) {
startAnimation(this.myCountUp);
this.setState({
flag : false
})
}
}
});
}
}
我应该怎么办?
解决方案
当检查您的文档是否存在项目时,您可以尝试此代码。
当元素长度达到 0 时,它会找到,否则找不到。
if($(document).find('.myclass').length>0){
$('#myId').text('found Your Element of myclass');
// when find your element thwn
}else {
$('#myId').text('Not Found Your Element of myclass');
//when not found code here
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="footer-index">
<h3>Index</h3>
<ul>
<li><a href="#">About</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Case Studies</a></li>
<li><a href="#">People</a></li>
<li><a href="#">blog</a></li>
<li><a href="#">Contact</a></li>
</ul>
<p class="myclass">some content</p>
</div>
<div id="myId"></div>
推荐阅读
- php - 选择字段中的必需标签不起作用
- ios - 我无法在我的 iphone 7 上使用 Xcode 构建并运行离子应用程序,构建失败
- elasticsearch - 弹性搜索文档中的部分更新
- swift - RxSwift - 谁是观察者?
- python - 我应该使用哪种授权授予类型?
- node.js - FormData POST 请求引发网络错误
- angular6 - 守卫执行后,未经授权的url返回主屏幕不显示数据
- python - Py/Qt5 :TypeError: can't concat str to bytes
- php - 从 linux 命令行检查有效的 docx
- ios - 如何在运行时解释/编译 Swift