我在我的项目中使用Wikipedia API。我遍历一个对象来显示一篇文章及其描述如下。
大多数 li (文章)都能正常显示,但其中一些会显示未定义。像那样
我想要的是隐藏显示未定义的 li 。我写了代码
// Check if some articles are undefined if so hide them
if (articleAuthor === "undefined") {
$('.articleItem').html('');
}
但它没有帮助。 $('。articleItem')是动态创建列表项。
提前致谢!
答案 0 :(得分:3)
我认为你需要删除元素:
if (articleAuthor === undefined) { //remove the quote from undefined
$('.articleItem').remove();
}
但前面的方法会删除所有articleItem,最好的方法是检查未定义并创建元素:
if(articleAuthor !== undefined){
//create element logic here
}
答案 1 :(得分:2)
这个选择器在这里:
$('.articleItem')
将返回一个包含class' articleItem'的元素列表,你必须循环它以更改所有项目的html
答案 2 :(得分:2)
使用 typeof
检查 <table class="table table-bordered table-striped" border="1">
<tr><td align="center">4 laptops were not added because they lacked unique identifiers.</td></tr> <tr><td align="center">2 laptops were not added because they already exist in the database: </td></tr><tr><td>
<table border="1" style="width:100%;"><th>Hostname</th><th>Asset Tag</th><th>Serial</th>
<tr>
<td></td>
<td></td>
<td>4646466</td>
</tr>
<tr>
<td></td>
<td></td>
<td>4646467</td>
</tr>
</table></td></tr>
<tr><td align="center">2 laptops were added to the database: </td></tr><tr><td>
<table><th>Hostname</th><th>Asset Tag</th><th>Serial</th>
<tr>
<td></td>
<td></td>
<td>4646468</td>
</tr>
<tr>
<td></td>
<td></td>
<td>4646469</td>
</tr>
</table></td></tr>
</table>
是否
undefined
答案 3 :(得分:2)
你需要做两件事:
首先,将if (articleAuthor === "undefined")
与if (typeof articleAuthor === "undefined")
切换。
其次,将$('.articleItem').html('');
切换为$('.articleItem').last().html('');
您还可以将domCache.$wikiArticlesList.append
包裹在if {if (typeof articleAuthor === "undefined")
)中,并且根本不会创建项目。