HTML:
<div data-section="html" class="cono-html">
<div data-section="css" class="cono-css">
<div data-section="jquery" class="cono-jquery">
jQuery的:
var html="<div class='radial-info'>El lenguaje histórico</div>";
var css="<div class='radial-info'>Las hojas de estilo CSS ya no sólo dan aspecto estático</div>";
var jquery="<div class='radial-info'>Una interminable lista de recursos de Javascript</div>";
我想用jQuery创建一个.append,在单击的项目上插入存储在变量上的内容与属性“data-section”同名,避免创建if语句。
当我尝试这样的事情时:
obj.append(obj.attr('data-section'));
或
section=obj.attr('data-section');
obj.append(section);
它只是附加属性的名称,而不是存储在具有相同名称的变量上的内容。您使用了什么程序?
答案 0 :(得分:2)
Javascript不支持这种&#34;动态&#34;变量,你不能在某个地方插入一个字符串,并期望它引用一个变量。
如果创建对象,可以使用括号表示法:
var stuff = {
html : "<div class='radial-info'>El lenguaje histórico</div>",
css : "<div class='radial-info'>Las hojas de estilo CSS ya no sólo dan aspecto estático</div>",
jquery : "<div class='radial-info'>Una interminable lista de recursos de Javascript</div>"
};
obj.append( stuff[obj.attr('data-section')] );
你也可以做这样的事情来获得全局定义的变量
window[obj.attr('data-section')]
取决于您所在的范围,但您不应该使用对象。