javascript - 检查 ul 是否有 li 和 jQuery 中的特定文本

标签 javascript jquery html

我当前正在尝试检查我的 ul 中是否有一个包含特定文本的 li 元素。当我在控制台中输入此内容时,我收到所有 li 文本:

jQuery(".et-pb-contact-message.contact-error ul:nth-child(2)").has("li").text();
"Name *E-Mail-Adresse *Betreff *Nachricht *Bestätigung"

现在我已将此语句写入 if block ,但遗憾的是它不起作用:

if (!jQuery(".et-pb-contact-message.contact-error ul:nth-child(2)").has("li").text() === 'Captcha *') {
    alert("No captcha error");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="et-pb-contact-message contact-error">
  <p>Bitte fülle die folgenden Felder aus:</p>
  <ul>
    <li>Name&nbsp;*</li>
    <li>E-Mail-Adresse&nbsp;*</li>
    <li>Betreff&nbsp;*</li>
    <li>Nachricht&nbsp;*</li>
    <li>Bestätigung</li>
  </ul><ul></ul>
</div>

最佳答案

var flag = false;
jQuery(".et-pb-contact-message.contact-error ul:nth-child(2) li").each((idx, ele) => {
  console.log(ele.innerText);
  if (!flag && ele.innerText == 'Captcha *') {
    flag = true;
  }
});
if (!flag)
  alert("No captcha error");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="et-pb-contact-message contact-error">
  <p>Bitte fülle die folgenden Felder aus:</p>
  <ul>
    <li>Name&nbsp;*</li>
    <li>E-Mail-Adresse&nbsp;*</li>
    <li>Betreff&nbsp;*</li>
    <li>Nachricht&nbsp;*</li>
    <li>Bestätigung</li>
    <!--<li>Captcha&nbsp;*</li>-->
  </ul>
  <ul></ul>
</div>

关于javascript - 检查 ul 是否有 li 和 jQuery 中的特定文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56882665/

相关文章:

html - 为什么我的ul底部没有边距?

html - javascript运行后如何刷新CSS以调整div高度

php - htaccess 中的 SetEnvIf Referer

javascript - Backbone.js 集合

javascript - 使用相同变量的 Angular 多重 ng-hide

javascript - (Javascript) CSS width() 属性在窗口调整大小之前不应用

javascript - 如何使用 JQuery 查找上个月上周的第一天

jquery - 通过 javascript 代码以编程方式添加按钮后,在按钮上应用 JQuery 移动样式

javascript - 带有 href 的提交表单?

javascript - 无法评估 knockout 计算机功能