Reputation: 1070
I'm trying to find whether there is some character in my string in JS
Like that :
$('.upld_btn').bind("click", function () {
changeApiFormat($('#embbed').val());
});
if ($('#embbed.contains("?vid=")')) {
....
....
}
I've got an error in my google chrome console :
Object XXXX has no method 'contains'
How come?!
Upvotes: 2
Views: 4762
Reputation: 67522
I assume #embbed
is an input value of some kind (because of your call to .val()
above). So, you would want to pull its value here, as well, and use indexOf
(-1
indicates not found):
if ($("#embbed").val().indexOf('?vid=') != -1) {
Here is a jsFiddle illustrating proof-of-concept. Enter "Hi", or "aHia", or anything like that (case-sensitive) into the box and click the link, and you will get a success popup. Otherwise you will get a failure popup.
Code used:
$(document).ready(function() {
$(".clicky").click(function() {
if ($("#input").val().indexOf('Hi') != -1) {
alert("Contains 'Hi'!");
} else {
alert("No luck!");
}
return false;
});
});
Upvotes: 6
Reputation: 22339
To use the contains() selector your syntax is not correct, assuming that is what you are trying to achieve:
if ($('#embbed:contains("?vid=")').length) {
....
}
Upvotes: 3
Reputation: 288500
See http://api.jquery.com/contains-selector/
It's :contains
instead of .contains
:
$('#embbed:contains("?vid=")')
Upvotes: 0