我的div
属性为" foldername"这可能是像鞋子,#34;礼服,"等等。 div看起来像这样:
<div id='folder_template' class="openclosed_folder_icon subfolder" foldername="shoes">
<img class="folder_icon" src="images/folder_closed.png" />
<div class="folder_label">name</div>
</div>
我想搜索具有foldername特定值的div,并从&#34; folder_closed.png&#34;中更改其中的图像。 to&#34; folder_open.png,&#34;所以图形看起来像一个打开的文件夹而不是一个封闭的文件夹。所以我有代码:
$("div[foldername=g.currentGallery]").attr('src','images/folder_open.png');
其中g.currentGallery是一个包含图库名称的变量,例如&#34; shoes,&#34;我想改变。 但这一行给了我错误:
语法错误,无法识别的表达式: DIV [FOLDERNAME = g.currentGallery]
但它需要:
$("div[foldername='shoes']").attr('src','images/folder_open.png');
为什么我不能在这里使用变量?
答案 0 :(得分:1)
像这样:
$('div[foldername="' + g.currentGallery.replace(/"/g, '\\"') + '"]').attr(/* whatever */);
示例如果我们有:
var g = { currentGallery: 'shoes["1"]' };
然后选择器表达式变为:
div[foldername="shoes[\"1\"]"]