2009-10-06 3 views
0

아래 코드는 Xpath를 생성합니다. 그러나 @value 속성/속성은 표시되지 않습니다. 그것은 잘 작동하지 않습니다.이 javascript 함수 출력을 xpath에서 @value로 만드는 방법은 무엇입니까?

function getXPath(node, path, val) { 
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) { 
    if (val){ 
    path.push(node.nodeName.toLowerCase() + (node.id ? 
      "[@id='"+node.id+"' @value='"+val+"']" : 
       count > 0 ? "["+count+"]" : '')); 
    }else{ 
    path.push(node.nodeName.toLowerCase() + (node.id ? 
      "[@id='"+node.id+"']" : count > 0 ? "["+count+"]" : '')); 
    } 
} 
    return path; 
}; 
+0

음. 당신은 전체 날려 Javascript 기반 Xpath 파서가 아니라 dhtml 영역에서 복사 붙여 넣기 및 수정 된 최소 하나 필요합니다. –

+0

meder, 어디에서 전체 자바 스크립트 기반 xpath 파서를 얻을 수 있습니까? –

답변

관련 문제