我不确定如何实现这一点。我正在从一种非常静态的方法转变为一种更动态的方法我的HTML看起来像这样:
<div id="q2">
<div class="small">What is your Email Address?<br>
<span class="smallnotice">Please enter a valid email address.</span></div>
<div class="notice">That is an invalid email address.<br><br></div><input type="text" name="email" id="email" data-format="email|32" value="email@domain.com" tabindex="2" autocomplete="off" class="formidle" style="width: 280px; ">
</div>q2 div ID是动态的,因此电子邮件地址可以是q3、q4等。
我试图在jQuery中完成的工作是在用户开始输入时删除class="notice“元素。
当我静态地做它的时候,我的元素是q5,我可以通过执行以下操作来删除该元素:(这是有效的)
$($('#q5 > div')[1]).remove();但现在我似乎想不出如何删除这个元素,因为我不知道我们在什么"q“中。
只是为了让你知道它是如何被调用的:
$("input[type='text']").keydown(function(e){
$("input[type='text']").each( function() {
if( $(this).hasClass("formerror") )
{
$(this)
.removeClass("formerror formidle")
.addClass("formfocused");
$( $('#q5 > div')[1]).remove();
}因此,我只需要一种方法来删除div,任何帮助都将不胜感激。
发布于 2012-05-26 04:53:36
我想你只是想要siblings()
$("input[type='text']").keydown(function(e){
$(this).siblings("div.notice").remove();
});测试在这里:http://jsfiddle.net/fRTn2/
发布于 2012-05-26 04:51:12
尝试:
$(this).closest('div').find('.notice').remove();https://stackoverflow.com/questions/10761134
复制相似问题