當在IE8中使用jQuery將HTML插入到div中時,IE8會剝離HTML標籤和某些類名稱。IE8剝離ID屬性,呵呵?
下面是一個示例。我將使用jQuery(1.6.2)
var oblSomeoneElseHTML =
'<div id="oblSomeoneElse">' +
' <h2>Enter the name and email of a person you\'d like<br/>to purchase a registration for:</h2>'+
'<form class="voucher_form" id="voucher_form">'+
' <div class="inputrow"><label class="l1">Student Alliance Member #:</label> <input type="text" id="customer_id" name="customer_id" class="oblSomeoneElseCustID"/></div><br>'+
' <div class="inputrow"><label class="l1">Student First Name:<em>*</em></label> <input type="text" id="firstname" name="firstname" class="validate[required] oblSomeoneElseFirstName"/></div><br>'+
' <div class="inputrow"><label class="l1">Student Last Name:<em>*</em></label> <input type="text" id="lastname" name="lastname" class="validate[required] oblSomeoneElseLastName"/></div><br>'+
' <div class="inputrow"><label class="l1">Student Date of Birth:<em>*</em></label> <input type="text" id="DOB" name="DOB" class="validate[required,custom[MMDDYYYY]] oblSomeoneElseDOB"/></div><br>'+
' <div class="inputrow"><label class="l1">Student Email:<em>*</em></label> <input type="text" id="SomeoneElseEmail" name="SomeoneElseEmail" class="validate[required,custom[email] oblSomeoneElseEmail"/></div><br>'+
' <a href="#" class="btn btncenter oblsomeoneelsenext">Next</a>'+
' <div class="spinner"><img src="/images/grey_spinner.gif"></div>'+
'</form>'+
'<img src="/images/blank.gif" width="20" height="20" alt="" border="0" style="position: relative; left: 5px; cursor: pointer;" onclick="clearPrompts();">'+
'</div>';
$('#sm_content .oblcontent').html(oblSomeoneElseHTML);
現在,這個代碼,當我調試DOB輸入的驗證,並查看在監視窗口oblSomeoneElseHTML的值時,它示出了ID和正確的類屬性。 我正在使用validationEngine插件來驗證此表單,它需要ID標籤才能工作。
<input type="text" id="DOB" name="DOB" class="validate[required,custom[MMDDYYYY]] oblSomeoneElseDOB"/></div>
但是,當我調試到validationEngine代碼,這一點,在_getPrompt()函數:
var className = field.attr("id").replace(":","_") + "formError";
返回此錯誤:
'attr(...)' is null or not an object
當我評價領域對象,我沒有看到id值,我只看到了類oblSomeoneElseDOB。
我很茫然,以這裏發生了什麼,爲什麼,這是隻有在IE8發生。 IE7和IE9完美工作,FF和Chrome和Opera也完美工作。
人對如何解決這一問題的任何想法?
isnt __field__對舊DOM節點的引用? – voigtan
在jQuery中,它是這樣定義和賦值的:var field = $(this); – MB34
是的,但是在替換整個.oblcontent之前或之後,您在哪裏設置__field__?一個例子是:$(「#場」)replaceWith(「