我希望在提交表单时获取<a>
标记的id,其中包含一个特定的类,它是表单的父级(在DOM树的上方某处)
<div class="article">
<div class="titre">Mon premier article de blog</div>
<div class="resume" style="display: none; ">Ceci est le premier article de blog <a id="1" href="#">link</a></div>
<div class="content">Ceci est effectivement mon premier article de blog
<div class="nb_com">2 commentaires</div>
<div class="form">
<form method="post" action="">
<div class="form_text">
<textarea name="com" id="com" rows="4" cols="122">... </textarea>
</div>
pseudo : <input type="text" name="pseudo" id="pseudo">
mail : <input type="text" name="mail" id="mail">
<input type="button" value="Commenter" onclick="enregistre_com(this.form.com.value,this.form.pseudo.value,this.form.mail.value,this.parentNode.innerHTML">
</form>
</div>
</div>
<div class="comment">
</div>
</div>
当我点击该按钮时,我想要检索<a>
标记中<div class="resume">
标记的ID值。 javascript或jquery表达式将取代this.parentNode.innerHTML
(它只是测试目的)
答案 0 :(得分:3)
使用.closest()
转到第一个共享容器( .article
),然后使用.find()
查找<a>
内的.resume
{1}}元素..
$(this).closest('.article').find('.resume a')[0].id;
答案 1 :(得分:0)
$('.form :button').click(function(){
var id = $('.resume a').attr('id'); //
// the variable id contains the content of the id attribute
});
您可能希望根据其他标记更改选择器。
答案 2 :(得分:0)
当点击输入按钮时,这将是您的标记的ID,即使有多个“简历”类:
id = $(this).closest('.article').find('a').attr('id');
这是一个工作示例: http://jsfiddle.net/JMEPj/2/
答案 3 :(得分:0)
我不确定您在示例中特别寻找哪个元素,但您应该考虑使用jQuery的.parents([selector])
方法(请参阅API页面here)
答案 4 :(得分:0)
$('form input[type=button]').click(function(){
var id = $(this).closest('.className').attr('id');
});
答案 5 :(得分:0)
最后,它看起来像
<input type='button' value='Commenter' onClick='enregistre_com(this.form.com.value,this.form.pseudo.value,this.form.mail.value,$(this).closest(\".article\").find(\".resume a\").attr(\"id\"))' />
我遇到了“和'因为所有这些js形式都封装在php源中