0

我在不正确的内容旁边注入验证器错误。单击后,所有注入的 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"); 这就是我能够访问该选择器以及完全删除跨度而不是类的方式。

4

1 回答 1

1

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

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

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

$("#C004_ctl00_ctl00_C006_ctl00_ctl00_textBox_write").next("span")
于 2013-10-21T17:05:26.397 回答