2013-03-21 5 views
1

는 한 페이지에 다음 HTML을 가지고 :xpath를 사용하여 내부 자식을 선택하는 방법은 무엇입니까?

<p>foo 
<br>bar 
<!--additional br elements of variable number--> 
<br>https://example.com 
<!--additional br elements of variable number--> 
<br>baz 
</p> 

링크는 일반 텍스트로 표시하고 나는 그것을 linkify해야합니다.

이 어떤 경기를 양보하지 않습니다 : 나는 '//text()[contains(.,"https")]'을 사용 나는 있도록 주위 <a> 요소를 추가 (전체 텍스트하지만 그때 수정할 수있는 DOM 요소에 대한 참조를 얻을 경우

document.evaluate('//*[contains(text(),"https")]' ,document, 
    null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; 

을 클릭 할 수있게됩니다.)

일반 텍스트 URL을 포함하는 요소를 어떻게 수정할 수 있습니까?

+0

"* internal *"은 무엇을 의미합니까? – Bergi

+1

무엇을 시도 했습니까? "* br 요소가 비어 있기 때문에 * 앞의 br *"의 텍스트()로 선택되지 않습니다. – Bergi

답변

0
/p/text()[3] 

이것은 나의 첫 번째 대답입니다.

+5

Welcome to Stack Overflow. 관련성이 없기 때문에 'this is my first answer'를 삭제하기 위해 편집을 시도했지만, 결과가 너무 짧아 받아 들일 수 없습니다. 편집 해 주시겠습니까? 아마 이런 식으로하는 이유에 대해 좀 더 자세히 설명해 주시겠습니까? – halfer

0

'//p/text()[contains(.,"https")]/..'p 요소를 선택한 다음 p의 innerHTML에서 정규식 검색 및 바꾸기가 완료 될 것으로 보입니다.

관련 문제