Два способа извлечь строку
Первый (и лучший способ) - использовать свойство .textContent
:
document.querySelector('.col_info').textContent;
Второй способиспользовать метод регулярных выражений .exec()
const rgx = /Essential/g;
let res = rgx.exec(str2);
while (res !== null) {
console.log('Using regex.exec(): ' + res[0]);
res = rgx.exec(str2);
}
Для использования .textContent
вам необходим действительный HTML.Я исправил таблицу и метку, предполагая, что ваша настоящая страница имеет действительный HTML.Для .exec()
я взял буквальный HTML и преобразовал его в строку (просто оберните его обратными чертами `).Конечно, при условии, что вы делаете это вручную.
Демо
const str1 = document.querySelector('.col_info').textContent;
console.log('Using .textContent: ' + str1.trim());
const str2 = `<input type='radio' class="radio" id="bb_radio1266767" name='266' value='767' onclick="show(document.forms[0],window.pageNumber)" />
<!-- Start template -->
</td>
<td class="col_info ">
<label for="bb_radio1266767">
<!-- Start baseProductInfo/displayBaseProductName.ftl-->
Essential`;
const rgx = /Essential/g;
let res = rgx.exec(str2);
while (res !== null) {
console.log('Using regex.exec(): ' + res[0]);
res = rgx.exec(str2);
}
<table>
<tr>
<td>
<input type='radio' class="radio" id="bb_radio1266767" name='266' value='767' onclick="show(document.forms[0],window.pageNumber)" />
<!-- Start template -->
</td>
<td class="col_info ">
<label for="bb_radio1266767">
<!-- Start baseProductInfo/displayBaseProductName.ftl-->
Essential
</label>
</td>
</tr>
</table>