在jquery中替换克隆的“div”中的某些容器

时间:2011-12-21 06:51:39

标签: c# jquery asp.net

我正在尝试替换所选“div”元素的内容,并将其附加到父控件。到目前为止,我能够克隆并将其附加到父级,但我想知道如何替换内部的某些标签。

这里具体是我用来克隆目标控件的jquery

var x =  $(parent).children('div[class="answer"]:first').children('div[class="ansitem"]:first').clone();

克隆div中的html内容如下:

<div id="ansthumb_anstext_anscontrols">
    <div id="image" class="ansthumb">
        replace 1
    </div>

<div id="atext" class="anstext">
    <p class="atext_para">
        <span id="mainwrapper_QRep_ARep_0_UName_0" style="color: rgb(51, 102, 255); font-weight: bold;">Replace 2 </span>
        Replace 3
    </p>

    <p id="answercontrols">
        <input name="ctl00$mainwrapper$QRep$ctl01$ARep$ctl01$AnsID" id="mainwrapper_QRep_ARep_0_AnsID_0" value='replace 4' type="hidden">
        <a id="mainwrapper_QRep_ARep_0_Like_0" title="Like this answer" href="#">Like</a>
        <a id="mainwrapper_QRep_ARep_0_Report_0" title="Report question" href="#">Report</a>
        <span id="mainwrapper_QRep_ARep_0_lblDatetime_0" class="date">  replace 5 </span>
    </p>
</div>

这里我标记了我想要替换的所有区域。上述div元素的id是这样命名的,因为它是在转发器控件中生成的。

我已经完成了jquery API,据我所知,这个函数似乎应该是我应该使用的东西。

replaceWith(内容)

但这种方式的缺点是我必须将整个html转储到字符串变量并在需要的地方包含替换文本。我认为这不是最好的方式,可能就像选择特定标签和更改数据一样。任何帮助appuricated家伙!

感谢

1 个答案:

答案 0 :(得分:1)

您可以使用.html()和其他几个jQuery函数,并使用周围的元素作为选择器。

例如

 <script type='text/javascript'>
     $("#image").html("YourData1"); //replace 1

     var secondSpan = $("#mainwrapper_QRep_ARep_0_UName_0");
     $(secondSpan).html("YourData2"); //replace 2
     $(secondSpan).after("YourData3"); //replace 3

     $("#mainwrapper_QRep_ARep_0_AnsID_0").attr("value", "YourData4"); //replace 4

     $("#mainwrapper_QRep_ARep_0_lblDatetime_0").html("YourData5"); //replace 5

 </script>

由于这些ID是由.NET定义的,因此您可以获取.NET控件的ClientID。

例如:

var secondSpan = $("#<%= UName.ClientID %>");

希望这有帮助!