1

我想要制作像 html str 这样的代码

$str = '<!DOCTYPE HTML>
        <html>
            <head>    
            </head>

            <body>    
                <div>
                    <div>
                        <strong></strong>
                    </div>
                </div>    
            </body>
        </html>';

然后分配给所需的功能

<script type="text/javascript">
    draw_dome_with_xpath_cal(<?php echo $str; ?>)
</script>

从php,好吗?并通过 js 使该 dom clickbale,当单击任何元素时,通过函数作为示例计算 firfox xpath

<script type="text/javascript">

  /**
   * Gets an XPath for an element which describes its hierarchical location.
   */
  var getElementXPath = function(element) {
      if (element && element.id)
          return '//*[@id="' + element.id + '"]';
      else
          return getElementTreeXPath(element);
  };

  var getElementTreeXPath = function(element) {
      var paths = [];

      // Use nodeName (instead of localName) so namespace prefix is included (if any).
      for (; element && element.nodeType == 1; element = element.parentNode)  {
          var index = 0;
          // EXTRA TEST FOR ELEMENT.ID
          if (element && element.id) {
              paths.splice(0, 0, '/*[@id="' + element.id + '"]');
              break;
          }

          for (var sibling = element.previousSibling; sibling; sibling = sibling.previousSibling) {
              // Ignore document type declaration.
              if (sibling.nodeType == Node.DOCUMENT_TYPE_NODE)
                continue;

              if (sibling.nodeName == element.nodeName)
                  ++index;
          }

          var tagName = element.nodeName.toLowerCase();
          var pathIndex = (index ? "[" + (index+1) + "]" : "");
          paths.splice(0, 0, tagName + pathIndex);
      }

      return paths.length ? "/" + paths.join("/") : null;
  };    
</script>  
4

0 回答 0