2011-12-09 49 views
1

我的方法到我的母版至极填充值向每个标签我传:确定哪些控制我的应用程序使用

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

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

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

+0

你是什么意思的“类型”吗? – SLaks

+0

有时候是一个输入,有时候是一个标签......只是这个 –

回答

1

您可以检查标签名称:

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

编辑 — @塞德里克贝林正确的建议 “是()”:

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插件。

+0

谢谢,尖尖的,正是我在找的东西! –

1

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

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

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

很明显,“.is()”比我丑陋的“tagName”检查要好:-)在回答问题之前,我需要确保早上喝点咖啡。 – Pointy

相关问题