Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.07.2020, 13:36
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

Проверка на наличие текста в теге strike
Доброго времени суток!
На сайте есть отображение старой цены в зависимости от применимости скидки.
Необходимо сделать проверку на наличие суммы скидки.
Скидка выводится в теге strike
<strike id="bx_117848907_56312_old_price" style="">2 900 руб.</strike>

Подскажите, пожалуйста, каким образом в теге strike вычислить есть ли текст.
Пробую так, но судя по всему текст не находится:
var strike = document.getElementsByTagName('strike');
strike.innerText;
Ответить с цитированием
  #2 (permalink)  
Старый 07.07.2020, 13:43
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

strike.textContent;
Ответить с цитированием
  #3 (permalink)  
Старый 08.07.2020, 07:05
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

laimas, спасибо что откликнулись
В alert(strike.textContent); значение undefined
Ответить с цитированием
  #4 (permalink)  
Старый 08.07.2020, 07:22
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Не заметил сразу - getElementsByTagName возвращает HTML коллекцию, а потому

var strike = document.getElementsByTagName('strike')[0];


если элемент один на странице, а если более, тогда не знаю в каком вы хотите проверить. innerText понимает только IE, и если речь идет о проверке, то нужно еще удалять крайние пробелы, если не уверены, что пустое, это ></.
Ответить с цитированием
  #5 (permalink)  
Старый 08.07.2020, 07:48
Профессор
Отправить личное сообщение для _marisha Посмотреть профиль Найти все сообщения от _marisha
 
Регистрация: 18.05.2018
Сообщений: 170

Сообщение от laimas Посмотреть сообщение
а если более, тогда не знаю в каком вы хотите проверить. innerText понимает только IE, и если речь идет о проверке, то нужно еще удалять крайние пробелы, если не уверены, что пустое, это ></.
Элементов c таким тегом может быть много.
На всякий случай к тегу добавлен класс strike
<strike id="bx_117848907_56312_old_price" class="strike" style="">2 900 руб.</strike>

Тогда с таким классом есть несколько элементов (в зависимости сколько размеров у товара).
Нужно все элементы с классом strike обработать и вычислить, у каких размеров в теге strike с классом strike есть текст
Ответить с цитированием
  #6 (permalink)  
Старый 08.07.2020, 07:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Если нужно все, тогда обходом в цикле этой коллекции проверяйте их и далее по условию.
Ответить с цитированием
  #7 (permalink)  
Старый 08.07.2020, 08:01
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Кстати, тег strike имеет и сокращенную форму записи <s>, но самое главное, этот тег теперь осуждается спецификацией и в HTML5 не поддерживается.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как с помощью скрипта высчитать ширину полосы прокрутки? LADYX Элементы интерфейса 35 13.11.2017 12:50
Проверка на наличие переменной vuler Общие вопросы Javascript 26 11.08.2015 22:22
Предполагается наличие ';' в IE7- FINoM (X)HTML/CSS 5 25.08.2012 16:05
проверка текста и.. Slawaq Элементы интерфейса 2 20.08.2010 20:35
Проверка текста на наличие в нем букв zoibana Общие вопросы Javascript 1 03.02.2009 15:48