请先原谅我的英语...... :)
我使用XMLNS
标签HTML
并将它们定位在JS
并getElementsByTagNameNS
使用文档CSS
选择器xmlns\:tagName
,CSS
在服务器端我DOM
与PHP
对象一起使用DOMDocument::getElementsByTagNameNS
一起使用......
我想知道我做得好还是有有效的方法?这种逻辑可能会在将来给我带来问题吗?我不知道怎么做前:DRUPAL
或JOOMLA
管理这件事?
或者你认为我应该在 PHP 中使用正则表达式preg_match_replace
任何 HTML 属性中添加前缀,并在 JS 文件和 CSS 文件中执行相同操作?
结构体
actor
|
|
v
+--------------+ +--------------------------------+
| NPresenter | | NNamespace |
+-------+|--------------|+------->|--------------------------------|
| |--------------| |--------------------------------|
| | -display(); | | +full_qualified_js_name(); |
| +--------------+ | +full_qualified_less_name(); |
| | +full_qualified_layout_name(); |
| +--------------------------------+
v
+------------------+ (assets)
| NModel | +------------+
|------------------| | js |
|------------------|------------------------->| less |
| +file_content(); | | layout |
+----------------- + +------------+
fully_qualified_*_name() 使用 regexp 和 preg_match_all 返回目标文件的输出,我在布局文件中添加 XMLNS,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns:aa='zz' xmlns:ee='rr'>
<head>
<title></title>
<script src="/assets/js/appended_js.js"></script>
<LINK rel="stylesheet" type="text/css" href="/assets/js/appended_css.css"">
</head>
<body>
<aa:span id="span1">
<aa:p>aaa</aa:p>
</aa:span>
<ee:span id="span1">
<ee:p>aaa</ee:p>
</ee:span>
</body>
</html>
在较少的文件中,我喜欢以下内容:
/*less*/
aa\:span{background: #00ff00;}
在 js 文件中,我如下所示:
/*js*/
var Namespace = {
methode1: function() {
var target = document.getElementsByTagNameNS("aa","zz");
return target.length;
}
};