for (i = 0; i < document.querySelectorAll('span.movie-cast-title').length; i )
{
if (document.querySelectorAll('span.gcharacter')[i].innerText, == 'null') {
continue;
}
data.actor.push({
"@type": "PerformanceRole",
"actor": {
"@type": "Person",
"name": document.querySelectorAll('span.movie-cast-title')[i].innerText,
"url": document.querySelectorAll('a.movie-cast-url')[i].href,
}
"characterName": document.querySelectorAll('span.gcharacter')[i].innerText,
});
}
如何跳過 queryselectorall 不存在或為 null "characterName": document.querySelectorAll('span.gcharacter')[i].innerText
uj5u.com熱心網友回復:
您需要檢查索引i是否在 querySelectorAll 的范圍內:
if(document.querySelectorAll('span.gcharacter').length > i) {
...
}
uj5u.com熱心網友回復:
您需要檢查元素是否存在,而不是innerText. 因為如果元素不存在,你就不能得到它的innerText.
if (!document.querySelectorAll('span.gcharacter')[i]) {
continue;
}
uj5u.com熱心網友回復:
使用 forEach 不是更清楚嗎?
const
spCharacters = document.querySelectorAll('span.gcharacter')
, aMovieCast = document.querySelectorAll('a.movie-cast-url')
;
document.querySelectorAll('span.movie-cast-title').forEach( (sp,i) =>
{
if (spCharacters[i].innerText !== 'null')
{
data.actor.push(
{ '@type' : 'PerformanceRole'
, 'actor' :
{ '@type' : 'Person'
, 'name' : sp.innerText,
, 'url' : aMovieCast[i].href,
}
, 'characterName': spCharacters[i].innerText
});
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/384792.html
標籤:javascript if 语句 空值 模式
上一篇:Ifelse函式更新R中的列
