我正在阅读一本关于 jQuery 的书,其中有一些简单的任务和示例。
我正在尝试向表中添加一个元素,但前提是该项目尚不存在。
表格是这样的:
<table border="1" cellspacing="0">
<tr>
<td>Spaghetti</td>
<td>Karl</td>
</tr>
<tr>
<td>Pasta</td>
<td>David</td>
</tr>
</table>
问题是:我们不允许添加任何类或 ID。
想法是添加标题。当然,如果按钮被按下 2 次,则不会添加第二个字幕。
我试过这个:
if(!jQuery.contains('table','caption')) {
$('table').append('<caption>Orders</caption>');
}
还有这个
if(!($("table:contains('caption')"))) {
$('table').append('<caption>Orders</caption>');
}
但两者都不起作用。我已经阅读了关于函数和选择器的 jQuery api,我认为这些会起作用,但它们不起作用。我需要做什么?
最佳答案
您可以在没有 if()
的情况下完成它如果您愿意,请声明:
$('table:not(:has(caption))').prepend('<caption>Orders</caption>');
这使用了 not-selector
(docs)和 has-selector
(docs)选择 <table>
没有嵌套 <caption>
的元素元素。
它还使用 prepend()
(docs)方法在 DOM 中给出更符合预期的位置。不会影响页面的实际显示。
关于javascript - jquery 添加元素如果不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5059761/