#javascript #regex
#javascript #регулярное выражение
Вопрос:
У меня есть тег, подобный приведенному ниже:
<p id="questionText"><span class="qn" id="qn"> 1 </span> hello? * </p>
Я хочу получить текст ( "Hello"
) из этого.
Я успешно сделал это с помощью следующего кода, но .textContent
не работает в IE
questionText = $('questionText-').textContent;
questionText = questionText.replace(/d /g,"");
questionText = questionText.replace("*","");
return questionText.replace(/^s*|s*$/g,'') ;
Как я могу изменить код, чтобы он работал в обоих?
Комментарии:
1.
$('questionText-')
недопустимый селектор. Вы, вероятно, хотели использовать,$('#questionText')
если вы используете jQuery или$('questionText')
если$
это просто псевдонимgetElementById
.
Ответ №1:
я думаю, вам нужен фреймворк jquery. я думаю, вам следует использовать .text()
или .html()
удачи
Комментарии:
1. Спасибо, но я хочу в самом javascript
2. Не совсем понимаю, чего вы хотите. в самом javascript??
Ответ №2:
Получить hello? *
часть вместо целого 1 hello? *
было бы намного лучше. Для этого нам нужно получить второй дочерний узел #questionText:
var qt = $("#questionText")[0];
qt.normalize();
var hello = qt.childNodes[1].data;
alert(hello); // outputs " hello? * "
Теперь мы можем отфильтровать строку на наличие нежелательных символов, подобных этому,
hello = hello.
replace(/[^a-zA-Z ]/g, "").
trim();
alert(hello); // outputs "hello"
Все, что осталось, это написать первую букву заглавной.