如何在javascript中以外部div为目标

如何在javascript中以外部div为目标,javascript,html,target,Javascript,Html,Target,我有这样的情况: <div id="first"> <div> <p>text</p> </div> </div> <div id="second"> <div> <button class="button">click</button> </div> </div> ... <div id="first"&g

我有这样的情况:

<div id="first">
  <div>
    <p>text</p>
  </div>
</div>
<div id="second">
   <div>
      <button class="button">click</button>
   </div>
</div>
...
<div id="first"> ... </div>
<div id="second"> ... </div>
...

正文

点击 ... ... ... ...
以此类推,结构重复

这个结构是动态创建的,所以我不能对第一个div使用任何特定的类或id

当我点击第二个分区中的按钮时,我需要检索第一个分区中的文本

(注意:我需要一个纯javascript解决方案,而不是jQuery解决方案)


谢谢

假设您有按钮单击的事件处理程序,您可以从该事件处理程序执行此操作:

function buttonClickHandler(e) {
    var first = this.parentNode.parentNode.previousSibling;
    var paragraphs = first.getElementsByTagName("p");
    var text = paragraphs[0].textContent;
}
如果在第一个和第二个标记的div上有公共和已知的类名,那么可以使Javascript代码与标记更改隔离开来,这通常是一个好主意



另外,我想你知道你的HTML中不应该有重复的id值。这段代码不使用它们,但如果要使用重复的类名,则应该使用类名而不是id值。

如果不想使用,为什么要用
jquery
标记问题?你是对的!很抱歉更改。您正在重用
id
值吗?