3

最初に英語で失礼します... :)

私はタグに使用XMLNSし、それらをターゲットにして、ドキュメントのセレクターを使用します。サーバー側では、オブジェクトで使用します...HTMLJSgetElementsByTagNameNSCSSxmlns\:tagNameCSSDOMPHPDOMDocument::getElementsByTagNameNS

私がうまくやったかどうか、または効率的な方法があるかどうかを知りたいですか?このロジックは、将来的に問題を引き起こす可能性がありますか? 私はどのように例を知りませんか:DRUPALまたはJOOMLA物事を管理しますか?

または、PHP で regexp を使用し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;
    }
};
4

1 に答える 1