Удаление атрибутов xmlns добавлено автоматически
Я пытаюсь выполнить простую функцию поиска и выделения вJavascript
который ищет кусок текста.XHTML
тег, с которым встречается этот фрагмент текста, также предоставляется в качестве аргумента для дополнительной помощи в поиске этого текста.
XHTML, на котором я тестирую эту функцию:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta content="application/xml+xhtml;charset=UTF-8" />
<script src="searcher.js" type="text/javascript"></script>
<script src="jquery-2.0.2.min.js"> </script>
<title>Building your resume</title>
</head>
<body id="highlightbegin">
<h1>Building your resume</h1>
<div> <input name="input" type="button" value="Highlight3" onclick="javascript:searcher('<h1>','Building your resume', '<h1>Building your resume', 'resume');" /> </div>
</body>
</html>
Функция поисковика в searcher.js:
function searcher(tag, text, tagText, word) {
//simple search.
console.info(word + " to be searched for in " + text + " with tag text = " + tagText);
//get old html.
var oldHTML = document.getElementById("highlightbegin").innerHTML;
//get regexp.
var regexp = new RegExp(tagText, 'g');
var match = oldHTML.match(regexp);
console.info(text + " found " + match.length + " times.");
}
Тем не менее, выполнениеRegExp
совпадение возвращаетсяnull
, Дальнейшее расследование показывает, что тег<h1>Building your resume</h1>
становится<h1 xmlns="http://www.w3.org/1999/xhtml">Building your resume</h1>
что вызываетmatch
функция для возвратаnull
, Мои вопросы:
xmlns
атрибут добавлен автоматически?Есть ли способ предотвратить добавление атрибута?К каким тегам будет добавлен этот атрибут? Можно ли предположить, что он будет добавлен к каждому тегу?Это проблема конкретного браузера или такое поведение можно ожидать во всех браузерах?РЕДАКТИРОВАТЬ:
Наблюдение:
1. Если я добавлюxmlns
приписатьbody
пометить и получить доступ ко всему контенту сouterHTML
(var oldHTML = document.getElementById("highlightbegin").outerHTML;
), его дочерние элементы не имеютxmlns
приписывать.
Мои вопросы:
1. Можно ли редактировать элемент externalHTML (сJavascript
) а заменили?
2. Является ли наблюдение выше последовательным (видно каждый разouterHTML
вызывается) или это зависит от реализации?
3. ЭтоJavascript
это добавляетxmlns
атрибут автоматически или браузер?