我的HTML页面包含一个名为“main”的id的div,我在我的HTML页面中包含另一个HTML页面,其中包含一个具有相同id(“main”)的div.我需要在我的HTML页面的id(“main”)附加一个名称空间.
我包括来自其他网站的页眉,页脚以及从我的网站到该HTML页面的内容.如果其他网站使用与我的网站使用相同的ID,则会发生冲突.
最佳答案
到目前为止,我同意所有人的意见,因为没有原生的CSS命名空间功能,如果你有控制(或欲望/能力)来编辑HTML,那么这是最好的方法.
自动化该过程的一种方法是编写脚本(PERL,PHP,.NET等)来解析您正在提取的HTML并用修改后的版本替换任何现有的ID或类.
即< tag id =“theID”class =“theClass anotherClass”>变为< tag id =“NAMESPACEtheID”class =“NAMESPACEtheClass NAMESPACEanotherClass”>
你可以通过一些有创意的正则表达式来实现这一点,尽管如果有需要修改的Javascript代码会变得更加棘手.
就性能而言,这将是一个很大的打击,取决于文件的大小,你可能想要缓存结果,或重写原始文件.
让我知道,如果你决定走这条路,这个想法实际上听起来有点吸引人,可以在我的工具箱中占有一席之地!