2013-11-03 59 views
0

我想檢測使用jquery的元素的類型。這是我之情況如何使用jQuery檢測子元素?

function editTaskField(targetElementId) { 
    var element = $('#' + targetElementId); 
    var fieldValue = element.val(); 
    var fieldName = element.attr('data-field-name'); 
    var taskId = $('#task_id').val(); 
    $.ajax({ 
     'url': '/project/ajax/updatetaskfield', 
     'type': 'POST', 
     'dataType': 'JSON', 
     'data': { 
      'field_name': fieldName, 
      'field_value': fieldValue, 
      'task_id': taskId, 
     }, 
     'success': function(data) { 

     } 
    }) 
} 

在成功回調我想是這樣

'success': function(data) { 
    var parentElement = element.parent('.info-value'); 
    if(parentElement.child().type() == 'select'){ 
     //something for select 
    } else if (parentElement.child().type() == 'input'){ 
     //something for input 
    } 
} 

如果你需要知道,我只是期待下.INFO價值

+0

獲取隨後的DOM元素得到節點類型: http://stackoverflow.com/questions/12160772/how-to-get-nodetype-using-jquery – CainBot

+2

如果你期望'.info-value'下只有一個元素,'.info-value'是'element'的父親,是不是指'element'是select或input元素?所以你可以說'if(element.is('select')){'... – nnnnnn

+0

@nnnnnn:正好!我感覺額外的愚蠢 –

回答

1
一個元素選擇或輸入

嘗試

var parentElement = element.parent('.info-value'); 
if(parentElement.children().is('select')){ 
    //something for select 
} else if (parentElement.children().is('input')){ 
    //something for input 
} 
+0

像一個魅力工作...感謝的人 –