【问题标题】:jquery val() contains()jquery val() 包含()
【发布时间】:2011-06-23 18:27:50
【问题描述】:

我想知道 textarea 值是否包含某个单词。这对我不起作用。

var value = $('#embedModal textarea').val();
if($(value).contains('iframe')){...

【问题讨论】:

    标签: jquery contains


    【解决方案1】:

    试试javascript

    if (value.indexOf('iframe') >= 0) {
    

    JQuery contains 用于 DOM 元素,而不是字符串。

    【讨论】:

    【解决方案2】:

    尝试这样做:

    $('#embedModal textarea:contains("iframe")').each(function() {
      //Do something
    });
    

    编辑

    Example

    【讨论】:

      【解决方案3】:

      这行得通:

      $.contains( document.documentElement, document.body ); // true
      
      var babyEl = $('div#id');
      var daddyEl = $('div#ID');
      
      if($.contains(babyEl, daddyEl)) {
          //do fun stuff
      }
      

      【讨论】:

        【解决方案4】:

        试试下面的代码.....

        代码:

                     <textarea rows="4" cols="9">Something iframe</textarea>
                     <textarea rows="4" cols="9">Something</textarea>
        
                       var obj=$("textarea:contains('iframe')");
        
                           if(obj){
        
                                    obj.css("background-color", "red");
        
                                 }
        

        【讨论】:

        • -1 因为这已经在this answer 中提出了建议,而且if 条件将始终为真,因此毫无意义。 jQuery 选择器将始终返回 jQuery 集合对象,如果您想检查它是否包含任何内容,您应该检查它的 length 属性。参见this fiddlethis one
        • 是的,jQuery 选择器将始终返回 jQuery 集合对象,但是当任何 textarea 包含 iframe 键世界时,此时条件将为 true,否则将为 false ....
        • 不,它永远不会是假的,因为 jQuery 集合是一个对象。
        【解决方案5】:

        你也可以这样做:

        if($('#embedModal textarea:contains("iframe")').length > 0){
            //TODO: do stuff
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-16
          • 1970-01-01
          • 1970-01-01
          • 2018-07-04
          • 2012-01-08
          • 2011-02-28
          • 2011-03-03
          • 1970-01-01
          相关资源
          最近更新 更多