Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   contains syntax error (https://javascript.ru/forum/events/35306-contains-syntax-error.html)

Marker 06.02.2013 21:29

contains syntax error
 
Что тут не так ?
$('#cont').click(function() {
var a = 0;
a = $('input').val();
if(div:contains(a)) {
alert("Found");
};
});


Пишет Uncaught SyntaxError: Unexpected token :

Marker 06.02.2013 21:36

Забыл поставить в " " ...
Но не работает так как надо, он приводит алерт даже если в инпуте пусто.. что не так написал?

Deff 06.02.2013 21:54

Marker,
Выложите минимальный код HTML без скриптов

Marker 06.02.2013 22:05

<div id="container" >
Lets try contains Function.<br><br>
<input id="contains"><button id="cont">search</button>
</div>

Deff 06.02.2013 22:17

<script src="http://code.jquery.com/jquery-latest.js"></script>

<div id="container" >
      Lets try contains Function.<br><br>
    <input id="contains"><input type="button" id="cont" value="search"/><!--Убрал <button> ибо его текст входит в текст строки -->
</div>

<script>
$(document).ready(function(){
    $('#cont').click(function() {
       var a = $.trim($("#contains").val()); //Очищаем от пробелов по краям;
       var c  = a.split('').length; //Длина подстроки

       if(c>=3 && $("#container:contains('"+a+"')").length){ //с>=3 - Если подстрока >=3х символов
            alert("Found"); return false;
       }    alert("Not Found"); return false;
  });
});
</script>

рони 06.02.2013 22:23

Marker,
<!DOCTYPE HTML>
<html>
<head>
  <title></title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div id="container" >
 Lets try contains Function.<br><br>
 <input id="contains"><button id="cont">search</button>
 </div>
<script type="text/javascript">
$('#cont').click(function() {
var a = $('input').val();
if($("div:contains('"+a+"')").length) {
alert("Found");
};
});
</script>
</body>
</html>

Marker 06.02.2013 22:24

Oн приводит алерт даже если в инпуте пусто..

Marker 06.02.2013 22:25

То что надо

Marker 06.02.2013 22:26

div:contains('"+a+"')").length
Неочень понял эту строку. Если в диве содержиться а - это понятно, а length причем?

рони 06.02.2013 22:30

Marker,div:contains('"+a+"')") это даст элементы а не false или true -- поэтому есть элементы то есть их количество length значит текст в одном из них есть -- если элементов нет то ничего ненайдено


Часовой пояс GMT +3, время: 01:55.