Javascript 为什么赢了';连接运算符不能工作吗?
以下是测试代码:Javascript 为什么赢了';连接运算符不能工作吗?,javascript,jquery,Javascript,Jquery,以下是测试代码: var current_page= 0; $('#background_music').append('<img id="bm'+current_page+'" src="success.png" width="68px" height= "68px"/>'); $("#"+ "bm'+current_page+'").offset({top: 171, left: 41}); 但是,如果我将此更改为 $("#"+ "bm"+current_page).off
var current_page= 0;
$('#background_music').append('<img id="bm'+current_page+'" src="success.png" width="68px" height= "68px"/>');
$("#"+ "bm'+current_page+'").offset({top: 171, left: 41});
但是,如果我将此更改为
$("#"+ "bm"+current_page).offset({top: 171, left: 41});
它起作用了
“bm”+当前页面+“
是否生成字符串:“bm0”
$("#bm" + current_page)
而不是
$("#"+ "bm'+current_page+'")
以下只是一个字符串:
"bm'+current_page+'"
这里的字符串分隔符是“
(双引号),因此这里嵌套的单引号(”
)只不过是字符。字符串以最后一个“
结尾
然而,在
'<img id="bm' + current_page + '" src="success.png" width="68px" height="68px"/>'
“”
字符串分隔符是
”
(单引号),这意味着嵌套的双引号(“
)仅仅是以两个字符串的串联结束的字符。这一行不可靠:
$("#"+ "bm'+current_page+'").offset({top: 171, left: 41});
请尝试以下操作,我们正在修复混淆的报价
$('#bm'+current_page).offset({top: 171, left: 41});
我认为问题在于这方面,我认为应该是:
$("#bm" + current_page).offset({top: 171, left: 41});
@Stallman这应该有助于你理解引用语是如何工作的回答问题2:不,显然。你不会问它是否工作。@Guffa“bm”+“current”+“page+”?它会生成bm0吗?但img id=“bm”+current\u page+”会导致id=“bm0”“~@Stallman您被
标记构造中的嵌套引号弄糊涂了。所以双引号”“here:id=“bm'+current\u page+”不是字符串分隔符?那么id=“bm”+current_page+”的操作实际上做了什么?@Stallman,我更新了答案哦,我也在编辑,对不起。变量current_page=0或current_page=“0”是否会影响连接?
$("#"+ "bm'+current_page+'").offset({top: 171, left: 41});
$("#bm" + current_page).offset({top: 171, left: 41});