gpt4 book ai didi

javascript - 使用 RegExp 查找、复制和粘贴标签内容

转载 作者:行者123 更新时间:2023-12-02 17:36:40 28 4
gpt4 key购买 nike

我有一个很长的 HTML 文件,我需要在其中进行相对简单的替换,但是,这无法通过简单的查找/替换来实现。我想知道 RegExp 是否可以帮助我完成这项工作。

所以,这是 HTML 部分:

<div class="panelHeader">
<span class="QN_header">Info1</span>
<span class="QT_header">Info2</span>
</div>

<div id="QXXXX" class="panelContent">
<div class="Question">
<span class="QNumber"></span>
<span class="QText"></span>
</div>
<!-- some more tags here -->
</div>

因此最后它应该看起来像:

<div class="panelHeader">
<span class="QN_header">Info1</span>
<span class="QT_header">Info2</span>
</div>

<div id="QXXXX" class="panelContent">
<div class="Question">
<span class="QNumber">Info1</span>
<span class="QText">Info2</span>
</div>
<!-- some more tags here -->
</div>

我需要的是:

  1. <span class="QN_header"> 复制 Info1 ;
  2. 将其插入<span class="QNumber"> ;
  3. <span class="QT_header"> 复制 Info2 ;
  4. 将其插入<span class="QText"> ;

如果可以在多次迭代中实现 - 那就可以了;比在整个文件中手动复制/粘贴要好得多。

提前致谢。

更新:整个可重复的代码如下。然后它会重复自己。

<div class="panelHeader">                       <!-- BEGIN OF PANEL HEADER -->              
<span class="QN_header"></span>
<span class="QT_header"></span>
</div> <!-- END OF PANEL HEADER -->

<div id="QXXXX" class="panelContent"> <!-- BEGIN OF CONTENT-->
<div class="Question">
<span class="QNumber"></span>
<span class="QText"></span>
</div>

<div class="Guidance"><p></p></div>
<div class="Response">
<div class="responseControls">
<label><input type="radio" name="RadioXXXX" value="Y" id="RXXXXY" onchange='radioChange(this, "XXXX")' />Yes</label>
<label><input type="radio" name="RadioXXXX" value="N" id="RXXXXN" onchange='radioChange(this, "XXXX")' />No</label>
<label><input type="radio" name="RadioXXXX" value="NS" id="RXXXXNS" onchange='radioChange(this, "XXXX")' />Not Seen</label>
<label><input type="radio" name="RadioXXXX" value="NA" id="RXXXXNA" onchange='radioChange(this, "XXXX")' />Not Applicable</label>
</div>
<div class="responseDetails">
<div class="Observation">
<label for="ObsXXXX">Observation:</label>
<textarea name="observation" id="ObsXXXX" rows="6" disabled ></textarea></div>
<div class="DueDate">
<label for="DueDateXXXX">Due date:<br /></label>
<input name="DueDate" class="DueDate_in" type="text" id="DueDateXXXX"/>
</div>

<div class="actions">
<label for="paXXXX">Actions required to correct and/or prevent this observation:</label>
<textarea name="actions" id="paXXXX" rows="6"></textarea>
</div>
</div> <!-- End of ResponseDetails -->
</div> <!-- End of Response -->
</div> <!-- END OF CONTENT -->

最佳答案

如果他们只是系统地重复,排成一长排 - 试试这个:

var panelHeaders = document.querySelectorAll('.panelHeader');
var panelContents = document.querySelectorAll('.panelContent');
for (var i=0;i<panelHeaders.length;i++) {
panelContents[i].querySelector('.QNumber').innerHTML = panelHeaders[i].querySelector('.QN_header').innerHTML;
panelContents[i].querySelector('.QText').innerHTML = panelHeaders[i].querySelector('.QT_header').innerHTML;
}

fiddle -> http://jsfiddle.net/8su4y/

关于javascript - 使用 RegExp 查找、复制和粘贴标签内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22562122/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com