#javascript #html #jquery #css
#javascript #HTML #jquery #css
Вопрос:
У меня есть кнопка в html ниже, которая имеет класс ‘hapus’. Когда я выполнил
предупреждение($(this).ближайший(«li»).html());
Он выдает оповещение, подобное этому:
JENIS AKTIVA:
<button class="btn-link input-xs tambah" type="button" style="display: none;">
<a> tambah</a>
</button>
<div class="tingkat form-group form-inline"><br><button type="button" class="hapus form-group form-inline btn btn-sm btn-danger input-xs">X</button><select class="form-control form-control-sm input-xs turunan" style="width: 160px; margin-left: 2px;" required="" disabled=""><option disabled="" selected="" value="4">Infrastruktur dan Alat Non Medis</option></select> Ket: <input type="text" class="form-control form-control-sm input-xs" style="margin-left: 7px;" name="125" value=""></div>
Вопрос в том, как я могу проверить, содержит ли HTML-код «li», на который я нацелен, слово «JENIS AKTIVA»?
Комментарии:
1. проверьте innerHTML (в jquery говорят, что это
.html()
) или textContent (jquery.text()
) для этой строки2. Итак, как я пишу условие внутри if()? Если в нем содержится это упомянутое слово?
3. что
if
? у вас нетif
в коде … в строках есть такие методы, какindexOf
илиincludes
, которые помогут4. Извините, что не включил его. Но я написал, как проверить, что, как я думал, это будет означать, что мне нужно предложение if. Я закончил использовать .include() спасибо за помощь.
5. если бы вы использовали
.include()
, то это не сработало бы — это.includes()
Ответ №1:
Использовать:
$(this).closest("li").text().includes('JENIS AKTIVA')
Который вернет true
or false
, который вы можете использовать в операторе if.
Комментарии:
1. Это работает. Я пробовал $(this).closest(li:contains()) но это селектор, он не возвращает логическое значение, которое можно оценить. Также я обнаружил, что .html().includes() тоже работает. Цените ответ, я приму ваш ответ как можно скорее.
2. метод contains предназначен для селектора, то, что делается выше, — это синтаксический анализ в виде текста и использование стандартного includes() для проверки того, что он включает строку. вы могли бы использовать .html(), но он содержит весь dom.
Ответ №2:
Попробуйте протестировать с помощью регулярного выражения.
element = $(this).closest("li").html();
myRegEx = /s JENIS AKTIVAs /i;
console.log(myRegEx.test(element))
Это должно возвращать либо true, либо false.
Комментарии:
1. Я бы тоже поставил
s
между JENIS и AKTIVA — вы никогда не знаете , что создает отдельный пробел на веб — странице : p2. Я еще не тестировал его, но, похоже, он имеет тот же желаемый результат, что и .include(). Я выбираю .include(), потому что это требует меньше усилий и может быть легко прочитано мной. Спасибо за ответ, хотя, ценю это.