Mat*_*pen 2 html javascript iphone uiwebview ipad
我知道在使用UIWebView(这是我正在使用的)在iPad上加载页面之后我可以运行一行javascript代码,但我不知道我可以输入什么来删除所有标签.我还希望能够仅对页面的某些部分执行此操作,例如仅删除某个标记内的标记.
您可以使用标记名称获取所有元素document.getElementsByTagName().所有链接都有标记名称a.您可以通过将其display样式设置为可视地删除它们none.
var elements = document.getElementsByTagName('a');
for (var i = 0; i < elements.length; i++) {
elements[i].style.display = 'none';
}
Run Code Online (Sandbox Code Playgroud)
要删除某个标记中某个标记getElementsByTagName()的元素,只需调用相关元素即可.假设您只想隐藏所有链接<li>:
var listitems = document.getElementsByTagName('li');
for (var i = 0; i < listitems.length; i++) {
var anchors = listitems[i].getElementsByTagName('a');
for (var j = 0; j < anchors.length; j++) {
anchors[j].style.display = 'none';
}
}
Run Code Online (Sandbox Code Playgroud)
这element.parentNode.removeChild(element)也是一个很好的,但它在标准for循环中不能很好地工作.你需要向后循环:
var elements = document.getElementsByTagName('a');
for (var i = elements.length; i-- > 0;) {
var element = elements[i];
element.parentNode.removeChild(element);
}
Run Code Online (Sandbox Code Playgroud)
根据明确的功能要求进行更新:您是否希望用表示链接原始内容的文本节点替换 link元素?你可以用Node.replaceChild()它.这是一个启动示例:
var elements = document.getElementsByTagName('a');
for (var i = elements.length; i-- > 0;) {
var element = elements[i];
var text = document.createTextNode(element.firstChild.nodeValue);
element.parentNode.replaceChild(text, element);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3612 次 |
| 最近记录: |