假设我有一个如下所示的HTML:
<div class="row">
<section>
<p> My Content </p>
</section>
</div>
我需要像这样
{{1}}
如何使用PHP DOM CLASS或JAVASCRIPT实现它?
答案 0 :(得分:0)
我使用 jquery 开发了一个简单的功能,应该可以解决您的问题
function refactorByTag(tagName){
var repeat =false;
var parent =false;
var children =false;
do{
$(tagName).each(function(index, el) {
if(!$(this).parent(tagName).length && !$(this).children('section').length){
parent = false;
children = false;
repeat = false;
}
else{
if(!$(this).parent(tagName).length) parent = $(this);
if(!$(this).children(tagName).length) children = $(this);
if(parent != false && children != false){
repeat = true;
parent.replaceWith(children);
parent = false;
children = false;
}
}
});
}while(repeat);
}
基本上,将检查您选择的每个标记名是否具有父项和子项,然后将父项替换为相应的子项。
这将循环整个文档,并且仅在具有相同标签的所有元素都没有父元素的情况下停止。
如果您阅读代码而不是我的话,可能会更简单:)
这是一个工作样本 https://jsfiddle.net/Lnztpy7a/2/