2011-02-08 40 views
13

Quiero saber si el valor textarea contiene una palabra determinada. Esto no funciona para míjquery val() contains()

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

Respuesta

27

Trate Javascript

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

jQuery contains es para los elementos DOM, no cadenas.

+0

Esto no funcionará en todos los navegadores IE. https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf –

+0

@JasonFoglia Esa es la documentación para la función indexOf de la matriz, no [string's indexOf] (https: // developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/indexOf). –

+0

Lo sentimos, haha ​​ –

4

trata de hacerlo de esta manera:

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

edición

Example

0

Trate siguiente código .....

código:

   <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 porque esto ya se sugirió en [esta respuesta] (http://stackoverflow.com/a/4939095/447356) además de que la condición 'if' siempre será cierta, por lo que no tiene sentido. El selector jQuery siempre devolverá el objeto de colección jQuery. Si desea verificar que contiene algo, debe verificar su propiedad 'length'. Ver [este violín] (http://jsfiddle.net/5edsr/) vs. [este] (http://jsfiddle.net/5edsr/1/). –

+0

sí, el selector jQuery devolverá siempre el objeto de colección jQuery pero la condición será verdadera en ese punto cuando cualquier textarea contenga iframe key world de lo contrario será falso ... –

+0

No, nunca será falso porque la colección jQuery es un objeto. –

0

Puede hacerlo así:

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

esto funciona:

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

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

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