2016-09-28 140 views
-1

我想當前元素的父,然後爲每個在這裏檢查類是我的代碼:得到當前元素的父然後每個元素的jQuery

jQuery('input[name^="opt"]').click(function() { 
 
    if (
 
    jQuery(this).hasClass('current_option') && 
 
    jQuery(this).is(':checked') 
 
) { 
 
    jQuery(this).prop('checked', false); 
 
    jQuery(this).removeClass('current_option'); 
 
    opConfig.reloadPrice(); 
 
    } else { 
 
    var parents=jQuery(this).parent().parent(); 
 
    jQuery(parents +'li > input').each(function() { 
 
     alert("445"); 
 
    }); 
 
    jQuery(this).addClass('current_option'); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
    <li><input type="radio" value="1" name="opt[1]" /><li> 
 
    <li><input type="radio" value="1" name="opt[1]" /><li> 
 
    <li><input type="radio" value="1" name="opt[1]" /><li> 
 
    <li><input type="radio" value="1" name="opt[1]" /><li> 
 
</ul> 
 
<ul> 
 
    <li><input type="radio" value="1" name="opt[2]" /><li> 
 
    <li><input type="radio" value="1" name="opt[2]" /><li> 
 
    <li><input type="radio" value="1" name="opt[2]" /><li> 
 
    <li><input type="radio" value="1" name="opt[2]" /><li> 
 
</ul> 
 
<ul> 
 
    <li><input type="radio" value="1" name="opt[3]" /><li> 
 
    <li><input type="radio" value="1" name="opt[3]" /><li> 
 
    <li><input type="radio" value="1" name="opt[3]" /><li> 
 
    <li><input type="radio" value="1" name="opt[3]" /><li> 
 
</ul>

這部分代碼不能正常工作。我必須刪除當前父級其他元素的類。

var parents=jQuery(this).parent().parent(); 
jQuery(parents +'li > input').each(function() { 
    alert("445"); 
}); 
+0

你想要什麼?添加一個班級到UL父母的檢查單選按鈕,並刪除它的任何其他UL與這個類? –

+0

每個共用一個通用名稱的無線電臺只共享一個輸入,除非括號中有一個例外IDK。 – zer00ne

+0

我認爲你正在尋找'parents.siblings('ul')。find('li> input')' – Satpal

回答

2

你能解釋一下爲什麼你使用這段代碼片段?

var parents=jQuery(this).parent().parent(); 
jQuery(parents +'li > input').each(function() { 
    alert("445"); 
}); 

如果你解釋一點點,那麼一些人可能會給出正確的想法,以最好的方式來做到這一點。還有一件事是你想用你的代碼完成的事情?

無論如何,您無法通過parents得到li > input變量,您使用parent()函數存儲變量。

你爲什麼不試試find()這個給你?如:

$(parents).find('input').each(function() { 
    alert("445"); 
}); 
+0

'find()'做了訣竅.. –

相關問題