用于设置元素文本的功能

时间:2015-04-10 00:04:41

标签: javascript

// Function for setting text of an element:
function setText(elementId, message) 
{
    'use strict';
    
     
if ( (typeof elementId == 'string')&& (typeof message == 'string') ) 
   {
      var output = $(elementId);
    if (output.textContent !== undefined) 
     {
      output.textContent = $(elementId).string;
      } 
     else 
     {
      output.innerText =$(elementId).string ;
    }
     
   } // End of main if.
} // End of setText() function.

我需要帮助这段代码,我需要定义一个函数名称setText()函数,如下图所示,当我在JS Bin中运行这段代码页面显示代码无法运行时,我找不到哪里错误是。任何人都可以给我一个提示吗?

2 个答案:

答案 0 :(得分:0)

您的message类型检查是不必要的,但如果您想保留它:

function setText(elementId, message){
    if((typeof elementId == 'string') && (typeof message == 'string')){ 
        document.getElementById(elementId).innerHTML = message;
    }
}

setText("foo", "1")
setText("foobar", "2")
setText("bar", "3")
setText("barfoo", "4")
<p id="foo"></p>
<p id="foobar"></p>
<p id="bar"></p>
<p id="barfoo"></p>

答案 1 :(得分:0)

您可以使用JavaScript原型方式来实现。这有点先进。

HTML:

<span id="spanText"> Your sample Text </span> 

首先通过此代码扩充类型:
    / *     增强类型     * /

Function.prototype.addMethod = function(funcName, funcBody){
if(!this.prototype[funcName]){
    this.prototype[funcName] = funcBody;
    return this;
}};

String.addMethod("setText", function(text){
    document.getElementById(this).textContent = text;
});

var elementId = "spanText";
elementId.setText("kkkkkkkkkkk");

将此JS加载到HTML文件下方。 您可以通过这种方式添加任何自定义字符串,数字,数组方法。 请参阅此处的完整示例: https://jsfiddle.net/dmsbilas/wu3cd88w/