0

我有以下html。

<dl class="item-options">
            <dd class="truncated" style="color:red;">DSOX3000-232, RS232/UART Serial Decode and Trigger - in <a onclick="return false" class="dots" href="#">...</a>/<div class="truncated_full_value"><dl class="item-options"><dt>Software Applications</dt><dd id="pppp">DSOX3000-232, RS232/UART Serial Decode and Trigger - installed, DSOX3000-AMS, CAN and LIN Automotive Serial Decode - installed, DSOX3000-MAT, Advanced Math Analysis for Infiniivision Oscilloscopes - installed, DSOX3000-VID, Enhanced Video/TV Application Package - installed/</dd></dl></div>
            </dd>          

            <div class="mdata">
                <dd class="truncated">DSOX3000-001, WaveGen 20 MHz Function/Arbitrary Wavefor <a onclick="return false" class="dots" href="#">...</a>/<div class="truncated_full_value"><dl class="item-options"><dt>Advanced Analysis</dt><dd id="pppp">DSOX3000-001, WaveGen 20 MHz Function/Arbitrary Waveform Generator - installed/</dd></dl></div></dd>
            </div>          


            <p id="warranty" style="margin-top:10px"></p>
                <dd>R-51B-001-5F, Return to Agilent Warranty - 5 years</dd><p>
            </p>              
 </dl>

<dl class="item-options">假设所有内容都在一个变量中 var mycontent

如何<p id="warranty" style="margin-top:10px"></p><dd>R-51B-001-5F, Return to Agilent Warranty - 5 years</dd><p></p> 从该变量中删除此内容mycontent

mycontent 是一个将传递给弹出窗口的变量。所以我想保留

<p id="warranty" style="margin-top:10px"></p><dd>R-51B-001-5F, Return to Agilent Warranty - 5 years</dd><p></p>

在 html 文档中,但仅从变量中删除。

谢谢

4

4 回答 4

2

试试这个:

$(mycontent).find("#warranty").remove();

或者

$(".item-options").find("#warranty").remove();

编辑:

一种方法是clone() mycontent并将其放入一个新变量中。您将能够保留原始的mycontent并使用它的克隆,而不会影响原始元素。

var mycontentForPopup = $(mycontent).clone().find("#warranty").remove();

然后,将mycontentForPopup用于您的弹出窗口。如果这不起作用,请给我一些反馈..

于 2013-04-25T07:15:31.390 回答
0

基本上,您需要选择要删除的节点并 .remove() 它们。假设mycontent是对具有类的节点的 jQuery 引用item-options

var warranty = mycontent.children('#warranty');
var txtContent = warranty.siblings('dd').last();
warranty.remove();
txtContent.remove();

如果mycontent是一个DOM节点,那么只需选择它jQuery

var $mycontent = $(mycontent);

一个建议是构造你的元素DOM,使warranty元素包含与其相关的节点,而children不是siblings. 否则语义丢失。

于 2013-04-25T07:16:24.360 回答
0

你也可以试试这个:

$("#warranty", $(mycontent)).remove();

但我认为代码是错误的:

<p id="warranty" style="margin-top:10px"></p>
    <dd>R-51B-001-5F, Return to Agilent Warranty - 5 years</dd><p>
</p>

或者:

<p id="warranty" style="margin-top:10px">
    <dd>R-51B-001-5F, Return to Agilent Warranty - 5 years</dd>
</p>
于 2013-04-25T08:23:12.167 回答
0

我删除了保修内容

来自mycontent变量的标记,如下所示。

<p id="warranty" style="margin-top:10px"></p>
     <dd>R-51B-001-5F, Return to Agilent Warranty - 5 years</dd><p>
</p> 

var保证=jQuery('#warranty').next().html();

mycontent.=mycontent.replace(保修,'');

于 2013-04-25T08:57:36.653 回答