這是我的HTML DOM選擇第一個元素的jQuery
<dd>
<div class="Addable Files">
<div style="margin:5px;">
<select name="Kind" id="kind">
<option value="1" >K1</option>
<option value="2" >K2</option>
<option value="3" >K3</option>
</select>
<div class="customfile">
<span aria-hidden="true" class="customfile-button button">Browse</span>
<input type="file" name="Files" class="fileupload customfile-input">
</div>
<select name="yap">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
</div>
</div>
<input type="button" value="new" style="margin-top:5px;" class="AddNewE button red" id="AddFiles">
</dd>
然後我的腳本:
//Add new Addable div
$('.AddNewE').click(function() {
var Target = $('.Addable.Files:first');
var CloneTarget = $(Target).clone();
CloneTarget.insertAfter('.Addable.Files:last');
$(Target).find('select').each(function() {
$(this).css('color', 'red');
});
});
因此,我希望當我點擊添加按鈕,只是前兩個選擇(兩個選擇第一個div的)是紅和所有其他選擇都沒有改變,但我看到怪異的行爲,在第一添加一切正常,但隨後在各添加所有選擇是,除了第二個紅色的,我覺得Target
是第一div
,也是我選擇目標的Select
元素那麼爲什麼所有的select
s是紅色的?我的問題在哪裏?
編輯
我對腳本錯誤很抱歉,但這是我的真實腳本:
//Add new Addable div
$('.AddNewE').click(function() {
var Target = $('.Addable.Files:first');
var CloneTarget = $(Target).clone();
CloneTarget.insertAfter('.Addable.Files:last');
$(CloneTarget).css('color', 'green');
$(Target).find('select').each(function() {
$(this).css('color', 'red');
});
});
我的理解是,你的代碼工作你描述你想讓你的方式,[在這撥弄] (http://jsfiddle.net/eDMyX/),不是? –
http:// jsfiddle。net/5mhmd /正常工作:o –
在前5分鐘內巧妙地編輯您的問題令人討厭。你最初有'$('。select').css('color','gray');'。 – thirtydot