【发布时间】:2020-11-10 15:15:26
【问题描述】:
我有一个这样结构的页面
<div id=0>
...
<textarea id=sometext></textarea>
...
<button class="coolbutton"></button>
...
...
</div>
<div id=1>
...
<textarea id=sometext></textarea>
...
<button class="coolbutton"></button>
...
...
</div>
<div id=2>
...
<textarea id=sometext></textarea>
...
<button class="coolbutton"></button>
...
...
</div>
当此 div 中的 textarea 为空时,我只需要在第一个 div (id=0) 中隐藏按钮。请注意,只有 div id 不同。 textarea 的 ID 相同。其他 div 中的按钮无需隐藏。
请提供使用 js 或 asp.net mvc 工具的解决方案。有什么不清楚的可以问我。
【问题讨论】:
-
1.你所有的
textareas都有相同的id,这是错误的。ids是独一无二的。 2. 将className或style添加到隐藏它的第一个button。然后将event listener添加到您的第一个textarea,这样当value更改时,它可以取消隐藏/重新隐藏按钮。 -
@RyanWilson 这些 div 是使用循环创建的,因此我不能仅将事件添加到第一个文本区域。因此,我想我可以在所有 textareas 上创建事件侦听器并以某种方式传递 div id,以便我可以在函数中检查它以仅隐藏第一个按钮。但仍然不是我猜的最佳解决方案......
-
'这些 div 是使用循环创建的,所以我不能只将事件添加到第一个 textarea' 当然可以:
.commonDivClass:first,或者在纯 CSS 中:stackoverflow.com/a/8539107/519413
标签: javascript jquery asp.net-mvc