2017-08-15 72 views
0

我的經驗用JavaScript和jQuery是幾乎爲零,所以...選擇子對象

我想旋轉對象(div_sheet_item),並存儲被稱爲「旋轉」的隱藏裏面輸入其實際旋轉。

我無法獲得輸入值來計算角度,我不知道爲什麼。

下面的代碼:

的Javascript

$(document).ready(function() { 
    $('.div_sheet_item_rotate').click(function() { 
    var rotation = $(this).parent().find('rotation').val(); 
    rotation += 90; 
    $(this).parent().rotate(rotation); 
    }); 
}); 

HTML

<li class="div_sheet_item" style="width: 330px; height: 230px;"> 
    <div class="div_sheet_item_rotate"><img src="img/ico_rotate.png"/></div> 
    <input type="hidden" name="rotation" value="0" /> 
</li> 

<li class="div_sheet_item" style="width: 330px; height: 230px;"> 
    <div class="div_sheet_item_rotate"><img src="img/ico_rotate.png"/></div> 
    <input type="hidden" name="rotation" value="0" /> 
</li> 

<li class="div_sheet_item" style="width: 330px; height: 230px;"> 
    <div class="div_sheet_item_rotate"><img src="img/ico_rotate.png"/></div> 
    <input type="hidden" name="rotation" value="0" /> 
</li> 

任何幫助將是巨大的。

由於

+1

你不('rotation')'',你應該使用'('[name =「rotation」]')'來獲得輸入 –

+3

不要爲此使用隱藏的輸入,使用'.data()將值與元素相關聯。 – Barmar

+0

所以像'$(this).parent()。data('rotation')' – Barmar

回答

1

jQuery .find() function需要選擇作爲參數。 要查找名稱的輸入,你應該使用Attribute Equals Selector

parent().find('[name="rotation"]') 

但更好的方法是一類分配給您的旋轉輸入,然後按類別選擇它:

<input type="hidden" name="rotation" class="rotation" value="0" /> 

parent().find('.rotation')