从选择器中删除注入的HTML

时间:2013-10-21 16:58:23

标签: javascript jquery html

我在不正确的内容旁边注入验证程序错误。点击后,所有注入的html都会正确显示。如果纠正了错误数据,我希望删除注入的HTML。我已经尝试使用.remove和.removeClass查看ID和类,但似乎在删除注入的html时遇到了一些问题。有帮助吗?我想我在选择正确的选择器时遇到了问题。此外,代码和ID显然是由.Net生成的。

HTML

<div id="C004_ctl00_ctl00_C006_ctl00_ctl00_expandableTarget_write" class="sfFieldWrp" style="display:;">
    <textarea name="C004$ctl00$ctl00$C006$ctl00$ctl00$textBox_write" rows="5" cols="20" id="C004_ctl00_ctl00_C006_ctl00_ctl00_textBox_write" class="sfTxt">Enter your question or comments here... </textarea>
</div>

JAVASCRIPT

var comments = $("#C004_ctl00_ctl00_C006_ctl00_ctl00_textBox_write").val();

if (comments == "" || comments == "Enter your question or comments here... ") {
    $("#C004_ctl00_ctl00_C006_ctl00_ctl00_expandableTarget_write").css("position", "relative");
    $("#C004_ctl00_ctl00_C006_ctl00_ctl00_textBox_write").after("<span style='color:red;font-family:Arial;font-size:18pt;padding-left:15px;position:absolute;bottom:60px;right:30px;' class='commentsError'>*</span>");
    event.preventDefault();
} else {
    $("#C004_ctl00_ctl00_C006_ctl00_ctl00_textBox_write").find("span").removeClass("commentsError");
}

答案:$(“#C004_ctl00_ctl00_C012_ctl00_ctl00_dropDown”)。next(“span”)。remove(“span”);这就是我能够访问该选择器以及完全删除跨度而不是类的方法。

1 个答案:

答案 0 :(得分:1)

您正在使用.after()添加错误,然后使用.find()将其删除。

.after()在所选节点之后添加元素,而.find()搜索节点的后代。

使用.next(),它是选择下一个(兄弟)元素的方法:

$("#C004_ctl00_ctl00_C006_ctl00_ctl00_textBox_write").next("span")