2013-11-03 62 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

像一个魅力工作...感谢的人 –