请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

id="'+id+'"这种用法谁能帮忙解释一下,多谢啦

如下代码中,给id赋值为什么用的id="'+id+'",而不是id="id"?

var component = $("<div class='h5_component' id="'+id+'">");


正在回答

3回答

Lyn 2016-06-27 12:30:41

这个是基本的语法。同学你估计是对引号什么的不太熟悉。

// 已知一个变量 id ,在这里单引号、双引号没什么区别
var id = 'myId';
// 我们理想输出:<div id="myid">
// 那我们可先拆解开 [想输出] 的字符串,然后再拼接变量。比如:【<div id="】【变量 id】【">】
var str_start = "<div id=";
var str_end = ">";
// 但是输出里面 id="myId" ,变量左右是有双引号的,怎么办?
var str_start = "<div id=\"";
var str_end = "\">";
// 或者
var str_start = '<div id="';
var str_end = '">';
// 最后我们拼接起来;
var str = str_start + id + str_end ;
// 换种写法:
var str =  '<div id="' + id + '">';


6 回复 有任何疑惑可以回复我~
  • 提问者 Collus #1
    多谢老师,确实对这不太熟悉
    回复 有任何疑惑可以回复我~ 2016-06-29 18:20:44
  • 没懂……
    // 但是输出里面 id="myId" ,变量左右是有双引号的,怎么办?
    这句啥意思?
    
    【<div id="】+【变量 id】+【">】拼接是这样的对吗用加号连起来?
    那么按照课程代码给的id="'+id+'",就是说【变量 id】里面也是要带引号的,也就是【“ myId”】是吗?为什么不能直接写呢?
    回复 有任何疑惑可以回复我~ 2016-07-29 16:05:30
Sappho 2016-12-23 17:40:20

lyn老师拼接字符串的姿势非常老司机,学习了

0 回复 有任何疑惑可以回复我~
月下背影 2016-06-26 23:28:10

这个很好理解啊:

首先:如果是id='"+id+"' 那么,最后解析处理的字符串就是$("<div class='h5_component' id='uyfdsukfhshdugfkseydueawiukjbhd'>");

但是如果是id="id",最后解析出来的字符串就是$("<div class='h5_component' id=uyfdsukfhshdugfkseydueawiukjbhd>");

你见过html标签里面属性里面的值不是带双引号的吗?

而且就你自己写的这个id="'+id+'"也有问题,按照你给的var component = $("<div class='h5_component' id="'+id+'">"); 这行,不应该是双引号包含单引号。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信