我有一个带有大型菜单的导航菜单。它具有多个标记以使其成为大型菜单。但是我想在小视口中删除一些标记。 所以我的标记是 我想要的是 i have two mega-menu-wrapper 我尝试过的 它在每个超级菜单中的两个菜单中都列出相同的列表,并且在每个me ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我想使用PHP DOM Document删除不包含任何属性的div
标签。 但是,我希望能够保留所有内部HTML内容。
例:
<div>
<div>
<div id="test">
Testing...
</div><!-- end #test -->
</div>
</div>
结果:
<div id="test">
Testing...
</div><!-- end #test -->
这就是我的想法,但似乎无法让它完成我想要的事情。 此方法似乎是删除所有内容,而不是没有属性的<div>
标记。
# Remove blank div wraps
if ( $div_tags = $dom->getElementsByTagName( 'div' ) ) {
$blank_divs = array();
foreach ( $div_tags as $div_tag ) {
if ( ! $div_tag->hasAttributes() ) {
$blank_divs[] = $div_tag;
}
}
if ( ! empty( $blank_divs ) ) {
foreach ( array_reverse( $blank_divs ) as $blank_div ) {
$blank_div->parentNode->removeChild( $blank_div );
}
}
}
如果您知道需要删除多少次迭代,则可以执行以下操作:
var icount = 2; // number of iterations.
for(i=0; i<icount; i++){
var innerElement = $("#test").contents();
$("#test").replaceWith(innerElement );
}
如果您不了解自己的烦恼,则只需拥有一个可识别的父母,例如:
<div id="container">
<div>
<div id="test">
Testing...
</div><!-- end #test -->
</div>
</div>
<script>
var innerElement = $("#test").contents();
$("#container").replaceWith(innerElement );
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.