快速預覽問題:使用.closest()
,我可以在目標元素的所有實例上粘貼一個類屬性,但它不會插入在祖先DOM中有額外<div>
的任何類別值。jQuery:.closest添加類屬性,但不是我預期的值
首先,這裏是jQuery的:
// Throw class="errorWrap" on any <li> element that contains a field that doesn't validate
highlight: function(element) {
$(element).closest("li").addClass("errorWrap");
}
(...... '標明:' 是的驗證插件......部分)
這是我的HTML的一個片段:
<li>
<div>
<span class="reqField">*</span> Have you been employed with us before?<br />
<label class="radioInput"><input type="radio" name="app_prior_employ" value="Yes" /> Yes</label>
<label class="radioInput"><input type="radio" name="app_prior_employ" value="No" /> No</label>
</div>
<div>
<label for="app_prior_employ_date">If <em>yes</em>, when were you employed?</label><br />
<input type="text" name="app_prior_employ_date" value="" size="40" id="app_prior_employ_date" />
</div>
</li>
...現在,隨着上述,類屬性將被添加到開幕<li>
標籤時,它應該,但它的價值將是空而不是errorWrap
正如我在這個問題上面提到的,只有那些在混合的<div>
元素情況下,會出現此問題(如他們立即在上面做)。這個問題不發生在其他情況下,其中<div>
不到位,如:
<li>
<span class="reqField">*</span> Can you travel if a job requires it?<br />
<label class="radioInput"><input type="radio" name="app_travel_for_job" value="Yes" /> Yes</label>
<label class="radioInput"><input type="radio" name="app_travel_for_job" value="No" /> No</label>
</li>
我想不通爲什麼會的jQuery在到處添加類屬性我希望它成功,但無法將我只定義的值插入DOM中具有額外元素的值中。我是否正確使用.closest()
?
新增片刻之後:這裏的問題的標記的截屏:http://i.stack.imgur.com/aiiaX.png
應該沒問題。請創建一個演示您的問題的http://jsfiddle.net示例。 – 2011-03-15 12:48:52
如果你用'.parents('li')'做了那個怎麼辦? – 2011-03-15 12:50:54
奇怪的是,如果我使用.parents('li'),其結果相同。 – 2011-03-15 13:22:30