通过传入值来避免重复

时间:2012-07-23 07:41:37

标签: javascript jquery

我正在使用javascript将图像插入到dom中,我想在调用函数时传入图像的第二个类名和其他一些属性。

所以我有包含这段代码的函数:

function movieCreator(movieName){

'<img class="clip terminator" src="images/terminator.png" onclick="imageControl(this);" alt="terminator" />','

};

 function movieCreator(movieName){

'<img class="clip rambo" src="images/rambo.png" onclick="imageControl(this);" alt="rambo" />'

 };

这些功能中还有其他一些东西,但我正在尝试简化这个问题。我想在调用像

这样的函数时传入“终结者”和“rambo”这两个词
movieCreator(terminator);
movieCreator(rambo);

但是当我试着考虑在哪里放置引号和类似的东西以便从代码中正确地替换这些单词时,我的头脑真的卡住了。

所以我的问题是:用函数被调用时传入的动态值替换“终结符”这个词的正确语法是什么?

6 个答案:

答案 0 :(得分:1)

调用函数如

movieCreator('terminator');
movieCreator('rambo');

创建类似

的功能
function movieCreator(movieName){

'<img class="clip '+movieName+'" src="images/'+movieName+'.png" onclick="imageControl(this);" alt="'+movieName+'" />','

};

答案 1 :(得分:0)

这样的东西?

'<img class="clip ' + movieName + '" src="images/' + movieName + '.png" onclick="imageControl(this);" alt="' + movieName + '" />'

答案 2 :(得分:0)

    function movieCreator(movieName) {
        return '<img class="clip ' + movieName + '" src="images/' + movieName + '.png" onclick="imageControl(this);" alt="' + movieName + '" />';
    };
    movieCreator('terminator');
    movieCreator('rambo');

答案 3 :(得分:0)

试试这个

      function movieCreator(movieName){
         var imgTag= '<img class="clip '+ movieName +'" src="images/'+ movieName + '.png" onclick="imageControl(this);" alt="'+ movieName+'" />'

      };

答案 4 :(得分:0)

简单:

function movieCreator(movieName){
      alert(movieName);
}

movieCreator('terminator');
movieCreator('rambo');

答案 5 :(得分:0)

您正在使用此类代码创建对文件名/位置的依赖关系。如果服务器管理员移动图像文件夹会发生什么?或者如果你在调用函数时拼错了电影名称?

这种情况我们通常更适合根据实际电影信息的数据源(包括文件名和位置)生成服务器代码。