Проблема в RegExp или jquery
Всем привет! Есть документ:
<div id="item">адам</div> И этот документу подключен jquery. При попытке проверить через RegExp, не может найти: var val = 'а[^a]*$'; var re = new RegExp(val, 'i'); if (re.test($('#item').text()) ) { alert('Ok!'); }; А если просто прописать там: var val = 'а[^a]*$'; var re = new RegExp(val, 'i'); if (re.test('адам') ) { alert('Ok!'); }; То работает. В чем проблема? Пробовал использовать toString() не помогло UPD: Исправил ошибку $(this) на $('#item') |
Top-tompak,
а кто у вас this? |
Не в этом проблема, просто ошибся здесь. Она все равно не работает :)
|
Цитата:
<div id="item">адам</div> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script> var val = 'а[^a]*$'; var re = new RegExp(val, 'i'); if (re.test($('#item').text()) ) { alert('Ok!'); }; </script> |
Top-tompak,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="http://code.jquery.com/jquery-latest.min.js"></script> </head> <body> <div id="item">адам</div> <script> var val = 'а[^a]*$'; var re = new RegExp(val, 'i'); if (re.test($('#item').text()) ) { alert('Ok!'); }; </script> </body> </html> |
Top-tompak,
кодировка ? |
danik.js, большое спасибо! Тогда выложу проблему полностью:
<!DOCTYPE html> <html> <head> <title>Поиск</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width"> <link href="style.css" rel="stylesheet" type="text/css"> <script src="jquery.js" type="text/javascript"></script> <script src="main.js" type="text/javascript"></script> </head> <body> <div class="wrap"> <div class="question">акдбука</div> <div class="question">акажср</div> <div class="question">аксмронббложбжж</div> </div> </body> </html> $(function() { $('.question').each(function(k, v) { //console.log('value - ' + $(this).text().toString()); var val = 'а[^a]*$'; var re = new RegExp(val, 'i'); if (re.test($(this).text().toString()) ) { console.log('This ok - ' + $(this).text()); }; }); }); |
Цитата:
|
там просто есть
<input type="text" name="question" placeholder="Вопрос"> и через keyup, получаю значение var val = question + '[^a]*$'; $(function() { $('input[name=question]').keyup(function() { console.log('keyup()'); var question = $('input[name=question]').val(); console.log('question - ' + question); $('.question').each(function(k, v) { //console.log('value - ' + $(this).text().toString()); var val = question + '[^a]*$'; var re = new RegExp(val, 'i'); if (re.test($(this).text()) ) { console.log('This ok - ' + $(this).text()); }; }); }); }); |
Цитата:
|
Часовой пояс GMT +3, время: 05:00. |