是否有可能为关闭div标签生成注释,考虑正常的HTML:是否有可能为html生成结束注释
<div id="content">
...
...buch of html or whateve
</div>
与评论:
<div id="content">
...
...buch of html or whateve
</div><!--End of content-->
等走线槽每个div元素和评论它的结束?
是否有可能为关闭div标签生成注释,考虑正常的HTML:是否有可能为html生成结束注释
<div id="content">
...
...buch of html or whateve
</div>
与评论:
<div id="content">
...
...buch of html or whateve
</div><!--End of content-->
等走线槽每个div元素和评论它的结束?
var divs = document.getElementsByTagName("div");
for (var d = divs.length-1; d >= 0; --d) {
var div = divs[d];
var id = div.id; // d.getAttribute("id")
if (id) {
var cmt = document.createComment("End of " + id);
div.parentNode.insertBefore(cmt, div.nextSibling);
}
}
没有内容只是示例div ..我的意思是,如果div id或class被命名的内容比评论应该说的无论它叫做什么 –
@Gandalf:查看更新。 – kennytm
使用jQuery,这很简单。
jQuery('div').after('<!--end of content-->');
编辑:
jQuery('div').each(function(){ jQuery(this).after('<!-- end of '+jQuery(this).id + '-->');});
它只是内容的结尾,因为内容是div id –
没有内容仅仅是示例div。我的意思是如果div id或class被命名的内容比评论应该说的无论它被称为 –
下面是一个可能的解决方案,在PHP中,使用DOM:
使用PHP允许你保存它,或者任何你需要;而且由于它使用的是相当标准化的DOM,因此将其翻译为另一种语言不需要太多工作。
(而且,从你的问题中留言来看,你没有排除其他语言JS)
$html = <<<HTML
<div id="content">
...
...buch of html or whateve
</div>
HTML;
$dom = new DOMDocument();
$dom->loadHTML($html);
$divs = $dom->getElementsByTagName('div');
for ($i = $divs->length - 1 ; $i > -1 ; $i--) {
$div = $divs->item($i);
if ($div->hasAttribute('id')) {
$id = $div->getAttribute('id');
$comment = $dom->createComment("End of {$id}");
if($div->nextSibling) {
$div->parentNode->insertBefore($comment, $div->nextSibling);
} else {
$div->parentNode->appendChild($comment);
}
}
}
echo $dom->saveHTML();
它可以帮助您在下面的HTML源:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body>
<div id="content">
...
...buch of html or whateve
</div>
<!--End of content-->
</body></html>
有几件事要注意:
而且,什么这样做:
DOMDocument
<div>
标签<div>
标签:
id
属性,</div>
标签后考虑这个问题的另一个解决方案可能是使用XPath,而不是getElementsByTagName
+ hasAttribute
...
用什么语言或什么平台? –
@Pekka使用javascript ..或任何最有成效的 –
但你想在JavaScript中完成结果存储在哪里?我认为这是一个工具的好主意,但你的用例是什么?处理本地文件?或者在调试过程中突出显示事物 –