Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用包含特定查询字符串参数的src创建图像元素_Javascript_Html - Fatal编程技术网

Javascript 使用包含特定查询字符串参数的src创建图像元素

Javascript 使用包含特定查询字符串参数的src创建图像元素,javascript,html,Javascript,Html,我想创建一个HTML图像元素,如下所示: <img src="www.example.com?param1=aid&param2=sid&param3=user&param4=now" /> 如何从该数据创建元素?您可以使用document.createElement('img')创建img元素(而不是“标记”) 您可以使用该元素的src反射属性设置它的src,一个字符串。现在,要创建该字符串,可以使用字符串连接(+)。但是,请参见下面的ES6注释 因此:

我想创建一个HTML图像元素,如下所示:

<img src="www.example.com?param1=aid&param2=sid&param3=user&param4=now" />

如何从该数据创建元素?

您可以使用
document.createElement('img')
创建
img
元素(而不是“标记”)

您可以使用该元素的
src
反射属性设置它的
src
,一个字符串。现在,要创建该字符串,可以使用字符串连接(
+
)。但是,请参见下面的ES6注释

因此:

然后,您希望将其附加到DOM的某个位置

注意非数字组件上的
encodeURIComponent
。查询字符串中的名称和值都必须是URI编码的。但是我没有在
param1
param2
等方面费心,因为我知道它们的URI编码版本……完全相同。类似地,我知道一个数字的URI编码版本就是这个数字。但是我看到
user
是一个文本值,我假设它并不总是
“abcd”
,所以为了防止出现问题,我对它进行了URI编码

请回复您的评论:

假设我想给img元素添加属性,它应该是img.height=1和img.width=1

规范。是的,
height
width
都在那里,并且都使用了
height
width
属性,尽管您可能希望改用样式表

并非所有属性都具有反射属性。对于那些不需要的,您可以使用
setAttribute(“name”,value)
(如果该值不是字符串,则将其转换为字符串)


在下一个版本的JavaScript ECMAScript 6(ES6)中,您可以使用
src
的模板字符串:

var img = document.createElement('img');
img.src = `www.example.com?param1=${aid}&param2=${sid}&param3=${encodeURIComponent(user)}&param4=${now}`;

您可以使用
document.createElement('img')
创建
img
元素(而不是“标记”)

您可以使用该元素的
src
反射属性设置它的
src
,一个字符串。现在,要创建该字符串,可以使用字符串连接(
+
)。但是,请参见下面的ES6注释

因此:

然后,您希望将其附加到DOM的某个位置

注意非数字组件上的
encodeURIComponent
。查询字符串中的名称和值都必须是URI编码的。但是我没有在
param1
param2
等方面费心,因为我知道它们的URI编码版本……完全相同。类似地,我知道一个数字的URI编码版本就是这个数字。但是我看到
user
是一个文本值,我假设它并不总是
“abcd”
,所以为了防止出现问题,我对它进行了URI编码

请回复您的评论:

假设我想给img元素添加属性,它应该是img.height=1和img.width=1

规范。是的,
height
width
都在那里,并且都使用了
height
width
属性,尽管您可能希望改用样式表

并非所有属性都具有反射属性。对于那些不需要的,您可以使用
setAttribute(“name”,value)
(如果该值不是字符串,则将其转换为字符串)


在下一个版本的JavaScript ECMAScript 6(ES6)中,您可以使用
src
的模板字符串:

var img = document.createElement('img');
img.src = `www.example.com?param1=${aid}&param2=${sid}&param3=${encodeURIComponent(user)}&param4=${now}`;

JS中的字符串可以用
+
操作符链接在一起。数值将被强制为字符串(尽管有时无法按预期工作)。

JS中的字符串可以用
+
操作符链接在一起。数字值将被强制为字符串(尽管有时无法按预期工作)。

了解模板字符串也很好。这就是JS,没有库或者别的什么?太棒了。@DougFirr:是的,一旦每个人都升级了浏览器,那么到2021年左右。:-)与此同时,像这样的传输程序已经支持它了。很高兴了解模板字符串。这就是JS,没有库或者别的什么?太棒了。@DougFirr:是的,一旦每个人都升级了浏览器,那么到2021年左右。:-)与此同时,像这样的传输程序已经支持它了。
var img = document.createElement('img');
img.src = `www.example.com?param1=${aid}&param2=${sid}&param3=${encodeURIComponent(user)}&param4=${now}`;