我想要制作像 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>