在优化公司代码期间,我陷入了document.getElementsByClassName()。
以下是问题:
我正在处理两种类型的网页:
第一页有:
<div class="leaderboardad">...</div>
第二页有:
<div class="leaderboard above_header">...</div>
我们可以看到唯一的区别是classname,但是当我想编写一个js文件来使用document.getElementsByClassName()来检测这两个div时,会发生一些事情:
if(document.getElementsByClassName('leaderboard above_header')){
console.log("2 classes");
}else if(document.getElementsByClassName('leaderboardad')){
console.log("1 class");
}
此代码适用于第二页,我总是在第一页的控制台中获得“2个类”。
然后当我将代码更改为
时if(document.getElementsByClassName('leaderboardad')){
console.log("1 class");
}else if(document.getElementsByClassName('leaderboard above_header')){
console.log("2 classes");
}
此代码适用于第一页,但我总是在第二页的控制台中获得“1类”。
假设我们无法更改页面中的类名,我可以为这种情况做些什么?
答案 0 :(得分:4)
返回具有所有给定类名的所有子元素的类数组对象。
这意味着在struct Config_DEVELOPMENT
{
static let ENVIRONMENT = "PRODUCTION"
static let BASE_URL = "https://dev.technoburgh.com"
static let API_KEY = "dev-key"
}
struct Config_TEST
{
static let ENVIRONMENT = "PRODUCTION"
static let BASE_URL = "https://dev.technoburgh.com"
static let API_KEY = "dev-key"
}
struct Config_PRODUCTION
{
static let ENVIRONMENT = "PRODUCTION"
static let BASE_URL = "https://dev.technoburgh.com"
static let API_KEY = "dev-key"
}
语句中使用时,它始终是&#34; truthy&#34;。您需要检查类似数组的对象的长度,以查看返回的元素数量:
if