Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Не фильтрует по .attr("title") (https://javascript.ru/forum/jquery/43685-ne-filtruet-po-attr-title.html)

formus 16.12.2013 19:00

Не фильтрует по .attr("title")
 
Привет всем! Работает вот так:
$("[name*="+$(this).parent().text()+"]")


Но не работает так:
$("[name*="+$(this).parent().attr("title")+"]")


Пробовал так:
$("[name*="+$(this).parent().attr("title").toString()+"]")

Не получилось

danik.js 16.12.2013 19:16

Цитата:

Сообщение от formus
Не фильтрует по .attr("title")

Дык это же тупо строка (в конечном результате). Утверждаешь что не фильтрует по тупо строке?
Цитата:

Сообщение от formus
Привет всем! Работает вот так:

Ыы. Нет, сам ведь говоришь что работает.

Кавычки лучше поставь вокруг подставляемого текста. А то если пробелы в нем то беда наверное..

danik.js 16.12.2013 19:17

Цитата:

Сообщение от formus
Не получилось

Дык а может нет у тебя таких элементов, которые соответствуют получающемуся селектору?

formus 16.12.2013 19:21

При чем пробелы и наличие элементов? Конечно есть они. По .text() ведь фильтрует...

danik.js 16.12.2013 19:36

Цитата:

Сообщение от formus
При чем пробелы

Проверил, действительно, пробелы jQuery обрабатывает нормально.

Цитата:

Сообщение от formus
При чем наличие элементов?

Ок, а в чем тогда причина по-твоему?

danik.js 16.12.2013 19:37

Цитата:

Сообщение от formus
Пробовал так:
$("[name*="+$(this).parent().attr("title").toString()+ "]")

Нет никакого смысла вызывать toString() у строки. Она ведь и так строка ))

formus 16.12.2013 19:41

Строка, да не та чтоли....? Я вот и написал чтобы обсудить, понять)

danik.js 16.12.2013 19:47

Цитата:

Сообщение от formus
Я вот и написал чтобы обсудить, понять)

А нечего обсуждать. Не в том месте ищешь ошибку. Отладчик в помощь. Он нынче в каждом браузере присутствует.

danik.js 16.12.2013 19:53

Опачки! В новых версиях jQuery с пробелами уже не фурычит!

Все сцуко за вас проверять да делать...
<div title="Some Title">
    <button>Проверить!</button>
</div>
<input name="Here Some Title" />

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$('button').click(function() {
    var target = $("[name*='"+$(this).parent().attr("title")+"']");
    target.val('Работает жеж!!!');
});
</script>

formus 16.12.2013 20:08

Одинарные и двойные кавычки тоже пробовал ставить. Работать работает - и у меня алертом показывает, но только когда хочу так:
if($(this).is(':checked')) {}
else {;
$("[name*="+$(this).parent().attr("title")+"]").hide();

То прячеться все, а не элементы без checked


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