2011-02-08 9 views
13

Tôi muốn biết liệu giá trị văn bản có chứa một từ nhất định hay không. Điều này không làm việc cho tôi.jquery val() chứa()

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

Trả lời

27

Hãy thử javascript

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

JQuery contains là dành cho phần tử DOM, không dây.

+0

này sẽ không làm việc trong tất cả các trình duyệt IE. https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf –

+0

@JasonFoglia Đó là tài liệu cho hàm indexOf của mảng, chứ không phải [string's indexOf] (https: // developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/indexOf). –

+0

Xin lỗi quyền của bạn, haha ​​ –

4

Hãy thử làm việc đó như thế này:

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

chỉnh sửa

Example

0

Hãy thử đoạn mã sau .....

mã:

   <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"); 

         } 
+0

-1 vì điều này đã được đề xuất trong [câu trả lời này] (http://stackoverflow.com/a/4939095/447356) cộng với điều kiện 'if' sẽ luôn đúng vì vậy nó vô nghĩa. Bộ chọn jQuery sẽ luôn trả về đối tượng bộ sưu tập jQuery, nếu bạn muốn kiểm tra nó có chứa bất cứ điều gì bạn nên kiểm tra thuộc tính 'length' của nó. Xem [this fiddle] (http://jsfiddle.net/5edsr/) so với [this one] (http://jsfiddle.net/5edsr/1/). –

+0

có, bộ chọn jQuery sẽ luôn trả về đối tượng bộ sưu tập jQuery nhưng điều kiện sẽ đúng vào thời điểm đó khi bất kỳ textarea nào chứa iframe key world nếu không sẽ là false .... –

+0

Không, nó sẽ không bao giờ sai vì bộ sưu tập jQuery là một đối tượng. –

0

Bạn có thể làm điều này cũng như:

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

công trình này:

$.contains(document.documentElement, document.body); // true 

var babyEl = $('div#id'); 
var daddyEl = $('div#ID'); 

if($.contains(babyEl, daddyEl)) { 
    //do fun stuff 
}