-7

这是什么:'+变量+'是什么意思?

我使用 jQuery append 方法添加一些 DOM 元素:

$('#story_pages').append('<div><button value="'+window_value+'" onclick= "reload_to_canvas(this.value)" ><img id="w'+window_value+'", src=white_data_URL, width="100px", height="100px"/> </button></div>');

实际上,我不知道为什么会这样......如果我只是写

value= window_value 
img id= w+window_value

,并使用选择器 $('#(w+window_value)') 来查找元素。它必须失败。
这个运算符是什么?'+variable+'
为什么要使用奇怪的符号“'+variable+'”?
我们什么时候应该使用这个符号?

4

3 回答 3

6

这个运算符是什么?'+变量+'

那不是运营商。

'结束一个字符串文字

+是一个连接运算符。

variable是一个字符串变量

+是另一个连接运算符。

'开始一个新的字符串文字。

为什么我们要使用奇怪的符号"'+variable+'"

这两个字符串文字"的数据中有字符。

目标是构造这个:

'<element attribute="value">'

当值是变量时

var myValue = "value";
'<element attribute="' + value + '">'

通过字符串连接从代码生成代码总是会产生丑陋的代码,这相对难以维护。我会用更详细的方法来解决这个问题:

var content = $("<div>");
var button = $("<button>");
button.val(window_value);
button.on('click', function() { reload_to_canvas(this.value); });
var img = $('<img>');
img.attr('id', 'w' + window_value);
img.attr('src', 'white_data_URL');
// width and height can be handled in CSS
button.append(img)
content.append(button)
$('#story_pages').append(content)
于 2012-11-25T12:14:01.120 回答
1

这是使用变量中的数据动态构造字符串。

var x = "World";
var text = "Hello " + x + ", how are you?";  

字符串的文字部分可以用单引号或双引号括起来。每个都做完全相同的事情,但如果字符串本身也包含引号,则两者之一更方便。

var text = 'Hello, "' + x + '", how are you?'; // double quotes inside
var phrase = "Hello, '" + x + "', how are you?";  // single quotes inside

行情需要匹配。语法突出显示(如 Stackoverflow 上的此处)使这更容易。

如果您需要字符串中的两种引号,则必须使用反斜杠转义其中一种。

var lotsOfQuotes = ' "Gosh, O\'Neill, what have you done", he said. ';
于 2012-11-25T12:13:27.357 回答
0

这意味着字符串与变量连接。

于 2012-11-25T12:13:19.277 回答