首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery -使用Dom导航Dom

jQuery -使用Dom导航Dom
EN

Stack Overflow用户
提问于 2012-05-26 04:46:12
回答 2查看 250关注 0票数 0

我不确定如何实现这一点。我正在从一种非常静态的方法转变为一种更动态的方法我的HTML看起来像这样:

代码语言:javascript
复制
<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,我可以通过执行以下操作来删除该元素:(这是有效的)

代码语言:javascript
复制
$($('#q5 > div')[1]).remove();

但现在我似乎想不出如何删除这个元素,因为我不知道我们在什么"q“中。

只是为了让你知道它是如何被调用的:

代码语言:javascript
复制
$("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,任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-26 04:53:36

我想你只是想要siblings()

代码语言:javascript
复制
$("input[type='text']").keydown(function(e){
    $(this).siblings("div.notice").remove();
});

测试在这里:http://jsfiddle.net/fRTn2/

票数 3
EN

Stack Overflow用户

发布于 2012-05-26 04:51:12

尝试:

代码语言:javascript
复制
$(this).closest('div').find('.notice').remove();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10761134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档