我有原始的html,里面有一些css类用于各种标签。
示例:
输入:
<p class="opener" itemprop="description">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Neque molestias natus iste labore a accusamus dolorum vel.</p>
我希望得到简单的HTML:
输出:
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Neque molestias natus iste labore a accusamus dolorum vel.</p>
我不知道这些类的名称。我需要在JavaScript(node.js)中执行此操作。
有什么想法吗?
答案 0 :(得分:11)
正如我在评论中所指出的,这可以通过Cheerio来完成 要删除所有元素的所有属性,您需要:
var html = '<p class="opener" itemprop="description">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Neque molestias natus iste labore a accusamus dolorum vel.</p>';
var $ = cheerio.load(html); // load the HTML
$('*').each(function() { // iterate over all elements
this.attribs = {}; // remove all attributes
});
var html = $.html(); // get the HTML back
答案 1 :(得分:4)
我会使用标签名称和该元素的innerHTML
创建一个新元素。然后,您可以使用新元素替换旧元素,或使用newEl
执行任何操作,如下面的代码所示:
// Get the current element
var el = document.getElementsByTagName('p')[0];
// Create a new element (in this case, a <p> tag)
var newEl = document.createElement(el.nodeName);
// Assign the new element the contents of the old tag
newEl.innerHTML = el.innerHTML;
// Replace the old element with newEl, or do whatever you like with it
答案 2 :(得分:1)
也许js中的一些正则表达式可以拔出那些css标签,然后输出精简版本?多数民众赞成如果我理解你的问题相关
答案 3 :(得分:0)
也许,只需使用Notepad ++,快速的“查找/替换”操作和空格将是最快的方式,而不是在解析器或类似的东西中思考。
答案 4 :(得分:0)
即兴发布:
$('.some_div').each(function(){
class_name = $(this).attr('class');
$(this).removeClass(class_name)})
答案 5 :(得分:0)
在python中,这样做但是提供一个文件和标签列表而不是硬编码的列表,然后换成for循环:
#!/usr/bin/env python
# encoding: utf-8
import re
f=open('fileWithHtml','r')
for line in f.readlines():
line = re.sub('<p\s(.*)>[^<]', '<p>', line)
print(line)
最有可能的是,这可以很容易地转换为nodejs的JavaScript
答案 6 :(得分:0)
您可以使用DOM(或SAX,取决于您想要执行的操作)动态解析元素,解析并删除所有符合的样式属性。
在JavaScript上,您可以使用HTML DOM removeAttribute()方法。
<script>
function myFunction()
{
document.getElementsByClassName("your div class")[0].removeAttribute("style");
};
</script>
答案 7 :(得分:0)
我提供了客户端(浏览器)版本,当我用Google搜索删除HTML属性时出现了这个答案:
CONCAT_WS
作为一项功能:
CONCAT_WS(', ',
IF(`address1` != '', `address1`, NULL),
IF(`address2` != '', `address2`, NULL),
IF(`address3` != '', `address3`, NULL),
IF(`city` != '', `city, NULL),
IF(`zip` != '', `zip, NULL)
)