Jquery函数实现

时间:2011-12-12 22:07:39

标签: javascript jquery iframe

我写这个函数来获取xpath位置:

JQuery(此函数获取xpath):

function getXPath(node, path) {
        path = path || [];
        if(node.parentNode) {
          path = getXPath(node.parentNode, path);
        }

        if(node.previousSibling) {
          var count = 1;
          var sibling = node.previousSibling
          do {
            if(sibling.nodeType == 1 && sibling.nodeName == node.nodeName) {count++;}
            sibling = sibling.previousSibling;
          } while(sibling);
          if(count == 1) {count = null;}
        } else if(node.nextSibling) {
          var sibling = node.nextSibling;
          do {
            if(sibling.nodeType == 1 && sibling.nodeName == node.nodeName) {
              var count = 1;
              sibling = null;
            } else {
              var count = null;
              sibling = sibling.previousSibling;
            }
          } while(sibling);
        }

        if(node.nodeType == 1) {
          path.push(node.nodeName.toLowerCase() + (node.id ? "[@id='"+node.id+"']" : count > 0 ? "["+count+"]" : ''));
        }
        return path;
      };

我有一个iframe:

<iframe id="frameID" width="100%" src="http://www.example.com"></iframe>

但是现在我有一个问题如何集成我的jquery函数以及在iframe中点击某处获取xpath结果的位置?

2 个答案:

答案 0 :(得分:3)

你写了那个功能? - 该代码大约5年前在DZone上编写:http://snippets.dzone.com/posts/show/4349 - 这包括该功能的使用说明。

答案 1 :(得分:0)

只有当iframe位置与嵌入页面的页面位于同一个域中时,才能执行此操作。

如果有,请从iframe获取文档(document.getElementById('frameId').contentDocument,请参阅MDN)并向其添加点击事件监听器。您收到的事件将包含对目标节点的引用。