javascript - 仅当以下 div 标签具有某些值时才显示按钮

标签 javascript jquery dom-manipulation

我有以下 html 代码 - 显示一个按钮并且用户单击它 - 它显示 下面是一些文字。

<div>
 <button class="btn-default btn-primary show-answer-button">Show</button>
 <div class="answer"></div>
 </div>

但有时,当用户单击按钮时,没有文本。 (所以它什么也不显示)。 我想仅当“答案”有一些文本时才显示此按钮。如何实现这一目标?

我尝试了以下操作(添加 id='answer-part' 并在 js 文件中插入一行),但没有成功:

 <div id="answer-part">
 <button class="btn-default btn-primary show-answer-button">Show</button>
 <div class="answer"></div>
 </div>

并将其添加到 .js 文件

$('.answer-part:empty').hide();

最佳答案

尝试同时使用 length 属性和contents():

$('button.btn-default.btn-primary.show-answer-button').click(function () {
    if ($(this).next().contents().length) $(this).next().show()
})

<强> jsFiddle example

关于javascript - 仅当以下 div 标签具有某些值时才显示按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25824710/

相关文章:

javascript - HighCharts 漏斗带有居中标签而不是右侧标签

javascript - 使用动态索引创建 Json

javascript - 如何在 Javascript 中计算总小时数?

javascript - 获取完整数据集,使用带分页的 YUI 数据表排序

javascript - TinyMCE 链接工具 - 如何动态添加 CSS 样式到链接?

jQuery 插件自己的 list 文件/npm

javascript - Crossrider "appAPI.message.toAllTabs"方法的消息发送顺序

javascript - 基于 CSS nth-child 旋转图像

javascript - 为什么 jQuery .after() 只触发一次?

javascript - 如何在动态创建元素后绑定(bind)到元素