Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.01.2022, 20:32
Кандидат Javascript-наук
Отправить личное сообщение для 12345678 Посмотреть профиль Найти все сообщения от 12345678
 
Регистрация: 03.09.2012
Сообщений: 109

Вопрос по jQuery, проверить, соответствует ли имя файла картинки и тогда выполнить, к
Доброго времени суток.

Было вот так
<td class="featured column-featured" data-colname="Featured product">Yes</td>


и определялось это вот так

var specific_post_edit_row = $( '#edit-' + id ),
            specific_post_row = $( '#post-' + id ),
            featured_product = false;
    if( $( '.column-featured', specific_post_row ).text() == 'Yes' ) featured_product = true;
                ...
    $( ':input[name="featured"]', specific_post_edit_row ).prop('checked', featured_product );


Я поменял логику и теперь за место слова Yes выводится картинка или несколько таковых (в зависимости от установленных чекбоксов).

Как теперь определять состояние, т.е. при наличии картинки с определённым именем (к примеру hide.png) скрипт выполнял далее свои обязанности.

P.S. Картинок в теге может быть и несколько, среди них надо обнаружить с определённым именем. Т.е. может быть и так
<td class="featured column-featured" data-colname="Featured product"><img width="32" height="32" src="https://site.ru/vote.png"><img width="32" height="32" src="https://site.ru/hide.png"><img width="32" height="32" src="https://site.ru/imagestaff.png"></td>
Ответить с цитированием
  #2 (permalink)  
Старый 15.01.2022, 20:57
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

12345678, закладываться на содержимое элемента не самый лучший подход.
Есть ведь классы, всякие data-атрибуты...
Ответить с цитированием
  #3 (permalink)  
Старый 15.01.2022, 20:59
Кандидат Javascript-наук
Отправить личное сообщение для 12345678 Посмотреть профиль Найти все сообщения от 12345678
 
Регистрация: 03.09.2012
Сообщений: 109

ksa
Спасибо что откликнулись. Класс добавить не проблема. Как будет в варианте с классом?
Ответить с цитированием
  #4 (permalink)  
Старый 15.01.2022, 21:07
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

12345678, вариант с картинкой и классом

<!DOCTYPE html>
<html>
<head>
<script src='https://code.jquery.com/jquery-latest.min.js'></script>
<!--
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
<script src='tmp.js'></script>
-->
<style>
</style>
<script>
$(_ => {
	let o = $('.column-featured img[src$="vote.png"]')
	if (o.length) alert('ok')
	o = $('.column-featured')
	if (o.hasClass('ok')) alert('ok')
})
</script>
</head>
<body>
<table>
<td class="featured column-featured ok" data-colname="Featured product">
	<img width="32" height="32" src="https://site.ru/vote.png" />
	<img width="32" height="32" src="https://site.ru/hide.png" />
	<img width="32" height="32" src="https://site.ru/imagestaff.png" />
</td>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 15.01.2022, 21:17
Кандидат Javascript-наук
Отправить личное сообщение для 12345678 Посмотреть профиль Найти все сообщения от 12345678
 
Регистрация: 03.09.2012
Сообщений: 109

Я модернизировал исходный код согласно примеру

if( $( '.column-featured img[src$="vote.png"', specific_post_row ) ) featured_product = true;


Но он почему то не работает....
Ответить с цитированием
  #6 (permalink)  
Старый 15.01.2022, 21:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от 12345678
Но он почему то не работает....
Сообщение от 12345678
img[src$="vote.png"',
Ответить с цитированием
  #7 (permalink)  
Старый 15.01.2022, 21:26
Кандидат Javascript-наук
Отправить личное сообщение для 12345678 Посмотреть профиль Найти все сообщения от 12345678
 
Регистрация: 03.09.2012
Сообщений: 109

Я попробовал так, но это также не помогло...

if( $( 'img[src$="vote.png"', specific_post_row ) ) featured_product = true;
Галочка всё время в состоянии "поставлена"
Ответить с цитированием
  #8 (permalink)  
Старый 15.01.2022, 21:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

12345678,
скобку забыли!!! #5
Ответить с цитированием
  #9 (permalink)  
Старый 15.01.2022, 21:31
Кандидат Javascript-наук
Отправить личное сообщение для 12345678 Посмотреть профиль Найти все сообщения от 12345678
 
Регистрация: 03.09.2012
Сообщений: 109

рони
Где именно?
Ответить с цитированием
  #10 (permalink)  
Старый 15.01.2022, 21:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от 12345678
img[src$="vote.png"
img[src$="vote.png"]

Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Имя файла не соответствует имени класса - итог приложение не запускается, ошибок нет khusamov ExtJS 15 29.05.2015 15:58
Всплытие событий или что то не так... Кирюха =) jQuery 6 30.03.2013 12:56
Вопрос поддержки старых методов jQuery antonM jQuery 1 04.10.2012 00:08