Javascript: uncaught TypeError childrenSelectorAll is not a function
Function Remove_Tags() {
var children = $("#ctlEditor_HTML").children;
var v = children.querySelectorAll("v");
v.forEach(Function(item) {
console.log(item);
})
}
|
Der .querySelectorAll gibt eine Liste
element's
child elements that match a specified CSS selector(s), as a static NodeList
object.
The
NodeList object represents a collection of nodes
|
Problem:
Man kann mit .querySelectorAll nur einfach Tags von
einzelnen HTMLElementen ermitteln.
Ein Durchlauf über .children.querySelectorAll(..) ist
nicht möglich.
Ebenso sind nur eine Auswahl an echten HTML Tags
möglich. Andere Varianten wie die Microsoft word Tags V: und o: können nicht
durchsucht werden.
Lösung
Man muss das umfassende HTMLElement ermitteln und in
diesem dann die HTMLElement.children[..] durchlaufen.
Lösung in javascript, überleitung aus jQuery
function Remove_Tags() {
//----------< Remove_Tags()
>----------
//*removes all invisible
Microsoft Word Tags v: o:
//< get HTMLElement >
var divElement = document.getElementById("ctlEditor_HTML");
//</ get HTMLElement >
//----< Loop: Children
>----
for (var i = divElement.children.length - 1; i
>= 0; i--) {
//--< child >--
var child = divElement.children[i];
//< remove word-tags >
if (child.nodeName.indexOf("V:") >-1) { child.remove(); }
else if (child.nodeName.indexOf("O:") > -1) { child.remove(); }
//console.log(child);
//</ remove word-tags >
//--</ child >--
}
//----</ Loop: Children
>----
//----------</ Remove_Tags() >----------
}
//does not work:
$("#ctlEditor_HTML").find("v:formulas").remove();
//does not work:
$("#ctlEditor_HTML").find("o").remove();
|