0
我是jquery的新手,想知道是否有一種在兩種不同的DOM場景下選擇標籤的優雅方法。如果輸入值爲空,我使用jQuery來驗證表單並向段落標記添加一個錯誤類(粗體顯示文本並將其突出顯示爲紅色)。在DOM的一些段落,並輸入標籤的存在這樣的:在多個場景下選擇上一個段落標記
<td><p>Name:</p></td><td><input type="text" name="field_name"></td>
而另一些人存在這樣的:
<td><p>Name:</p><input type="text" name="field_name"></td>
我jQuery的功能,到目前爲止是這樣的:
$("#form_id").submit(function() {
var answer = true;
$(this).find(".required").map(function() {
if(!$(this).val()) {
$(this).closest("td").prev("td").find("p").addClass("form_error");
answer = false;
}
else {
$(this).closest("td").prev("td").find("p").removeClass("form_error");
}
});
return answer;
});
關鍵線是:
$(this).closest("td").prev("td").find("p").addClass("form_error");
這是在我的第一個DOM場景下顯式選擇p標記,但當然它在第二個上失敗。我正在尋找一行代碼,在兩種情況下都會選擇p標籤。我一直在玩.prev("p")
,但到目前爲止還沒有弄清楚。有沒有辦法做到這一點?
發佈一些比較完整的HTML會很有幫助。 – Jasper
附加信息:與我的問題中列出的
回答
如果文字輸入和它的標題(
<p>
標籤內的文本)是僅有的兩個在一行中,你可以使用選擇喜歡的其中之一:這裏是上面的的jsfiddle解決方案:http://jsfiddle.net/Lyaqp/2/
來源
2011-10-25 19:06:29 Jasper
這有效,謝謝。 – joshuahedlund
相關問題