2012-09-29 6 views
0

저는 프로그래밍에 착수 한 상태에서 다음 문제에 대한 합리적인 접근 방법을 찾을 수 없으므로 도움을 주시면 대단히 감사하겠습니다! 나는 이런 식으로 구성된 .html 파일을 가지고있다 :텍스트 영역을 인용 하시겠습니까?

<head> 
<title>ABC</title> 
</head> 
<body> 
<div class="norm"> 
...  
<span class="jnenbez">13</span> 
....  
<div class="Absatz">text</div> 
<div class="Absatz">text</div> 
<div class="Absatz">CITE HERE**</div> 

"norm"div는 하나의 부모 노드이다. "jnenbez"span과 "Absatz"div는 "norm"div 안에 있지만 중첩 된 깊이는 다양 할 수 있습니다. 이제는 "CITE HERE"영역을 인용하여 "jnenbez 13 Absatz 3 ABC"의 출력을 생성하는 것을 의미합니다. 동일한 "norm"div의 "jnenbez"범위의 텍스트 내용을 가져 와서 인덱스를 가져 오는 것을 의미합니다. "Absatz"div의 수입니다. 왜냐하면 "norm"div의 세 번째 자식 "Absatz"이며 내용을 가져 오는 것입니다.

1) 어떻게이 문자열을 사용자에게 줄 수있어 다른 곳에 붙여 넣을 수 있습니까? Firefox의 copy + paste 동작을 쉽게 수정할 수없는 것 같습니다. 분명한 해결책은 각 divs 텍스트 내용의 끝에 [jnenbez ...]와 같은 괄호 안에 출력을 넣는 것이지만 html 문서의 가독성을 떨어 뜨릴 수 있습니다.

2) 자동으로 JQuery를 통해이 출력을 생성 하시겠습니까?

+1

javascript로 시스템 클립 보드를 제어 할 수 없습니다. 시스템 클립 보드의 내용을 자동으로 변경하는 작은 플래시 플러그인을 구현할 수 있습니다. – Lix

답변

1

정보를 저장/표시하는 좋은 방법에 대해 확신하지 못합니다. 또한 class = 'norm'컨테이너에있는 다른 마크 업을 확신하지 못합니다. 이것은 매우 중요하며 유용한 솔루션의 형태에 완전히 영향을 미칩니다.

필자는 특정 구조를 가정했습니다. 첫 번째 포함 된 범위가 관심의 대상이라고 생각합니다. 또 다른 가정은 컨테이너에있는 유일한 div가 관심 대상이며 계산해야한다는 것입니다.

나는 쉽게 충분히 깰 수 있다고 확신합니다. : D

<!DOCTYPE html> 
<html> 
<head> 
<script> 
function onBtnPress(element) 
{ 
    var result; 

    var cont = element.parentNode; 

    var span = cont.getElementsByTagName('span')[0]; 
    result = span.className + " "; 
    result += span.innerHTML + " "; 

    var divList = cont.getElementsByTagName('div'); 
    result += divList[0].className + " "; 
    result += divList.length+" "; 
    result += document.title; 

    cont.getElementsByTagName('p')[0].innerHTML = result; 
} 
</script> 

<title>ABC</title> 
</head> 
<body> 
    <div class="norm"> 
     <span class="jnenbez">13</span> 
     <div class="Absatz">text</div> 
     <div class="Absatz">text</div> 
     <div class="Absatz">CITE HERE**</div> 
     <button onclick='onBtnPress(this);'>click me</button> 
     <p>[string here]</p> 
    </div> 
    <div class="norm"> 
     <span class="Crapple">8</span> 
     <div class="ipod">worst</div> 
     <div class="ipod">music</div> 
     <div class="ipod">player</div> 
     <div class="ipod">I ever</div> 
     <div class="ipod">bought</div> 
     <div class="ipod">CITE HERE**</div> 
     <button onclick='onBtnPress(this);'>click me</button> 
     <p>[string here]</p> 
    </div> 
</body> 
</html> 
+0

도와 주셔서 감사합니다! – Elip

관련 문제