這看起來很奇怪,但是做一個jQuery replace()
似乎只在alert()
或console.log
運行時才起作用。jQuery替換出現在日誌/警報中,但不是在實際內容中?
這裏是我試圖運行代碼:
$('.settings_item[data-slide-id=1324] .answers_fields_template li').each(function(index) {
var regexp = new RegExp('new_answers', 'g');
var new_id = new Date().getTime();
$(this).html().replace(regexp, new_id);
});
和這裏的html代碼:
<li data-weight="1">
<input id="survey_questions_attributes_0_answers_attributes_new_answers_skeleton" name="survey[questions_attributes][0][answers_attributes][new_answers][skeleton]" type="hidden" value="true">
<input id="survey_questions_attributes_0_answers_attributes_new_answers_text" name="survey[questions_attributes][0][answers_attributes][new_answers][text]" size="30" type="text" value="Great!">
<input id="survey_questions_attributes_0_answers_attributes_new_answers_weight" name="survey[questions_attributes][0][answers_attributes][new_answers][weight]" type="hidden" value="3">
<input id="survey_questions_attributes_0_answers_attributes_new_answers_response_class" name="survey[questions_attributes][0][answers_attributes][new_answers][response_class]" type="hidden" value="rate">
<input id="survey_questions_attributes_0_answers_attributes_new_answers_id" name="survey[questions_attributes][0][answers_attributes][new_answers][id]" type="hidden">
</li>
<li data-weight="2">
<input id="survey_questions_attributes_0_answers_attributes_new_answers_skeleton" name="survey[questions_attributes][0][answers_attributes][new_answers][skeleton]" type="hidden" value="true">
<input id="survey_questions_attributes_0_answers_attributes_new_answers_text" name="survey[questions_attributes][0][answers_attributes][new_answers][text]" size="30" type="text" value="OK">
<input id="survey_questions_attributes_0_answers_attributes_new_answers_weight" name="survey[questions_attributes][0][answers_attributes][new_answers][weight]" type="hidden" value="2">
<input id="survey_questions_attributes_0_answers_attributes_new_answers_response_class" name="survey[questions_attributes][0][answers_attributes][new_answers][response_class]" type="hidden" value="rate">
<input id="survey_questions_attributes_0_answers_attributes_new_answers_id" name="survey[questions_attributes][0][answers_attributes][new_answers][id]" type="hidden">
</li>
我試圖與new_id
的內容替換的new_answers
所有實例變量。
當我運行,沒有取代。但是,如果我將$(this).html().replace(regexp, new_id);
換成alert()
或console.log()
,那麼這些顯示的輸出new_answers
應該被替換。
我不明白爲什麼地球上會是這樣,現在我的大腦受傷。
這只是一個意外重複的快速粘貼代碼示例,或者您有多個輸入中的所有重複ID和名稱?如果是這樣,那最終會讓你更加頭疼。 – RwwL 2011-06-15 14:50:49
@RwL:編輯時可能是我沒有正確地閱讀東西。我發現它已被OP回滾和正確編輯。向所有人道歉。 – Bojangles 2011-06-15 20:37:39
奇怪,我仍然看到重複的ID。 – RwwL 2011-06-16 14:55:34