如何调用html doc中的函数

时间:2016-09-13 08:02:16

标签: javascript jquery html

我创建了一个获得2个参数的命名函数。第一个参数是没有表达式的图像文件名(str)。第二个参数是像素的图像高度(num)。 我想在html文档中显示给定高度的图像。

例如:

abstract class A extends \PHPUnit_Framework_TestCase {
   public function assertFoo() { ... }
   public function assertBar() { ... }
}

class B extends A {
   public function testFoo() { $this->assertFoo(); ...}

   public function testBaz() {...}
}

class C extends A {
   public function testBar() { $this->assertBar(); ...}

   public function testQuz() {...}
}

我相信函数不是正确的方法。如何正确调用函数来显示任何div内的图像。



<div><script>showImage('test', 100);</script></div>
&#13;
function showImage (imgfilename, imgheight) {
	var img = '';
	imgheight = typeof(imgheight) !== "undefined" ? imgheight : "64";
	imgheight = 64 + (imgheight - 64);
	img += '<img src="https://i.imgsafe.org/'+imgfilename+'.png" width="64px" height="'+imgheight+'px">';
	//console.log (img);
	return img;
}	
&#13;
body {background-color: #ccc;}
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:5)

尝试以下方法:

使用数据属性存储您的信息

<div class="img" data-id="7a622f4233" data-height="68"></div>

<div class="img" data-id="7a622f4233" data-height="80"></div>

<div class="img" data-id="7a5fa34d31" data-height="60"></div>

JS:

$('.img').each(function(){
    var imgheight =$(this).attr('data-height');
    var imgfilename = $(this).attr('data-id');
    imgheight = imgheight != "" ? imgheight : "64";
    var img = '<img src="https://i.imgsafe.org/'+imgfilename+'.png" width="64px" height="'+imgheight+'px">';
 $(this).html(img);
})

答案 1 :(得分:1)

您正在返回一个字符串,但您应该将img添加到DOM中,如

function showImage (imgfilename, imgheight, elementId) {
    var img = '';
    imgheight = typeof(imgheight) !== "undefined" ? imgheight : "64";
    imgheight = 64 + (imgheight - 64);
    img += '<img src="https://i.imgsafe.org/'+imgfilename+'.png" width="64px" height="'+imgheight+'px">';
    //console.log (img);
    $("#" + elementId).append(img);
}

用以下方法调用方法:

<div id="img1"><script>showImage('7a622f4233', 68, 'img1');</script></div>

编辑:madalin ivascu的解决方案也是非常好的,但这是一种不同的方法。

答案 2 :(得分:1)

你需要做很多阅读。那是无法调用函数并在脚本标记中返回一个html元素吗?

首先,更正您的函数,将生成的html附加到另一个元素中:

function showImage (imgfilename, imgheight, imgId) {
    var img = '';
    imgheight = typeof(imgheight) !== "undefined" ? imgheight : "64";
    imgheight = 64 + (imgheight - 64);
    img += '<img src="https://i.imgsafe.org/'+imgfilename+'.png" width="64px" height="'+imgheight+'px">';
    //console.log (img);

document.getElementById(imgId).innerHTML = img;
}

然后这样称呼:

showImage('name', height, 'imgId');

请从div中删除脚本标记:

<div id="img1"></div>

答案 3 :(得分:1)

<div id="img1"><script>document.write(showImage('7a622f4233', 68));</script></div>

您需要将退回的img标记写出来。