【问题标题】:How to check if an element contains another element in jQuery如何检查一个元素是否包含jQuery中的另一个元素
【发布时间】:2010-11-20 04:00:14
【问题描述】:

我将 xVal 与 jquery.validate 插件结合使用,但遇到了一个小问题,因为它在某个实例中发布了两次验证消息。我认为这个错误应该可以通过一些巧妙的 jQuery 在错误消息的位置上轻松修复。

我正在尝试寻找一种方法来查看一个 ul 是否已经包含一个 li,其中包含一些文本。

errorPlacement: function(error, element) {
     $("ul.errors:not(:contains(" + error + "))").append(error);
}

我认为像上面这样的东西可能会起作用,但不是那么幸运。 error.toString() 也不起作用。

任何帮助将不胜感激。

【问题讨论】:

    标签: jquery validation contains xval jquery-validate


    【解决方案1】:

    看看:has 选择器:

    $("ul:has(li:contains('" + error + "'))")
    

    上述选择器将选择 UL 元素,其中 LI 元素包含 error 文本。

    【讨论】:

      【解决方案2】:

      这里没有那个插件,我不知道什么是适当的属性来获取错误文本,但你可以使用Firebug 做一个errorconsole.log 看看它是什么。

      您还需要在字符串周围加上引号。

      $("ul.errors:not(:contains('" + errorString + "'))")
      

      ...并且不要忘记在错误消息中对任何单引号进行转义!

      【讨论】:

      • 是的,我现在才意识到并改变了答案。 :)
      【解决方案3】:

      您的代码中的error 是什么?
      首先,您将其称为字符串 :contains(" + error + "),然后您将其称为元素 - .append(error);
      如果这是一个元素,请尝试使用 $(error).text() 获取其文本,然后在 ul 中搜索文本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-04
        • 1970-01-01
        • 2021-01-30
        • 2011-01-15
        • 1970-01-01
        • 1970-01-01
        • 2021-03-02
        • 2012-08-01
        相关资源
        最近更新 更多