确定我的应用程序正在使用哪个控件

时间:2011-12-09 13:52:12

标签: javascript jquery

我在我的母版页中有一个方法,它会为我传递的每个标签填充一个值:

function FillLabel(field, text) 
{
  $(field).html(text);
}

我需要让它适应我的field接收html输入的情况,并将文本放在此输入中我需要使用$(field).html(text);

我需要构建一个if来识别field的类型,我不知道该怎么做。你能帮助我吗?

2 个答案:

答案 0 :(得分:1)

您可以查看代码名称:

var tag = $(field).attr('tagName');

编辑 - @CédricBelin正确建议“.is()”:

var isInput = $(field).is(':input');

更像jQuery。

或检查是否有“价值”属性:

if ('value' in $(field)[0]) { ... }

所以,总的来说:

function FillLabel(field, text) {
  var $field = $(field);
  if ('value' in $field[0])
    $field.val(text);
  else
    $field.html(text);
}

您可以考虑使用“.text()”而不是“.html()”,但我不知道您的应用程序需要什么。您也可以考虑将其编写为jQuery插件。

答案 1 :(得分:1)

你没有提供足够的细节!根据您的代码片段,您似乎在谈论基于jQuery的JavaScript。

您可以使用is()方法和selectors来测试元素的类型:

var element=$(field);
if(element.is(":input")) element.val(text);
else element.html(text);