javascript - texto - jQuery String contiene manipulación?
manejo del dom con javascript (6)
En la mayoría de los lenguajes como C #, por ejemplo, dado una cadena, puede probar (boolean) si esa cadena contiene otra cadena, básicamente un subconjunto de esa cadena.
string x = test2;
if(x.contains("test"))
// do something
¿Cómo puedo hacer esto de una manera simple con Javascript / Jquery?
Como dijeron Paolo y Cletus, puedes hacerlo usando indexOf ().
Válido para mencionar es que es una función de JavaScript, no una jQuery.
Si quieres una función jQuery para hacer esto, puedes usarla:
jQuery.fn.contains = function(txt) { return jQuery(this).indexOf(txt) >= 0; }
El operador indexOf funciona para cadenas simples. Si necesita algo más complicado, vale la pena señalar que Javascript admite expresiones regulares .
Esto se hace con indexOf , sin embargo, devuelve -1 en lugar de False si no se encuentra.
Sintaxis
string.indexOf(searchValue[, fromIndex])
Parámetros
searchValue
- Una cadena que representa el valor a buscar.
fromIndex
: la ubicación dentro de la string
para iniciar la búsqueda. Puede ser cualquier número entero entre 0 y la longitud de la string
. El valor predeterminado es 0.
Regreso
El primer índice en la string
en la que se puede encontrar el comienzo de la subcadena, o -1 si la string
no contiene ninguna instancia de la subcadena.
Intenta implementar esto
function function1() {
var m = document.all.myDiv.contains(myB);
if (m == true){
m = "YES"
} else {
m = "NO"
}
alert(m)
}
Un ejemplo de trabajo, usando solo indexOf y jQuery
// Add span tag, if not set
$(document).ready(function(c) {
$(''div#content ul.tabs li a'').each(function(c){
// Add span wrapper if not there already
if( $(this).html().indexOf(''span'') == -1){
$(this).html(''<span class="tab">'' + $(this).html() + ''</span>'');
}
});
});
DT
Un simple contiene también puede ser útil, por ejemplo:
<div class="test">Handyman</div>
$(".test:contains(''Handyman'')").html("A Bussy man");