是否可以将定义的变量用作 jQuery 中数据属性选择器的一种 'data-content'?
Is it possible to use a defined variable as a kind of 'data-content' for the data attribute selector in jQuery?
我想知道是否可以在 jQuery.
中将定义的变量用作数据属性选择器的一种 "data-content"
假设我有一个名为 "imageNumber" 的变量,它由整数组成:
var imageNumber = 1;
我有一排预览图片,其中包含背景图片属性和名为 'data-image-number="1"'、'data-image-number="2"' 等的数据属性:
<div style="background-image:url(example1.jpg);" data-image-number="1"></div>
我正在寻找一种方法来设置一种 "display"-div 的背景图像,该图像基于通过 [=51 中的变量(imageNumber)选择的另一种 div =].
$("#display_div").css("background-image", $("div[data-image-number='imageNumber']").css("background-image") );
$("#display_div").css("background-image", $("div[data-image-number='imageNumber']").css("background-image"));
此时我通过 if 子句查找每个案例:
if ( imageNumber == 1 )
{
$("#display_div").css("background-image", $("div[data-image-number='1']").css("background-image"));
}
if ( imageNumber == 2 )
{
$("#display_div").css("background-image", $("div[data-image-number='2']").css("background-image"));
}
我需要这个定时器来通过变量 "imageNumber" 更新 "display_div" 的背景图像,因为图像在显示器中一张一张地淡出,用户应该有单击预览图像的选项,将变量 "imageNumber" 设置为淡入淡出行中的位置,淡入淡出行将再次正常工作。
我 fear/guess 这个问题没有语法,我必须用另一种方式解决它,或者使用 if 子句,对吗?
您只需使用字符串连接:
$("#display_div").css("background-image", $("div[data-image-number=" + imageNumber + "]").css("background-image"));
或者如果您要连接的内容可能有空格等,请使用引号:
$("#display_div").css("background-image", $("div[data-image-number='" + imageNumber + "']").css("background-image"));
在 ES6 (ECMAScript 2015) 中,您还可以使用模板字符串:
$("#display_div").css("background-image", $(`div[data-image-number='${imageNumber}']`).css("background-image"));
...但大多数浏览器尚不支持它们。
我想知道是否可以在 jQuery.
中将定义的变量用作数据属性选择器的一种 "data-content"假设我有一个名为 "imageNumber" 的变量,它由整数组成:
var imageNumber = 1;
我有一排预览图片,其中包含背景图片属性和名为 'data-image-number="1"'、'data-image-number="2"' 等的数据属性:
<div style="background-image:url(example1.jpg);" data-image-number="1"></div>
我正在寻找一种方法来设置一种 "display"-div 的背景图像,该图像基于通过 [=51 中的变量(imageNumber)选择的另一种 div =].
$("#display_div").css("background-image", $("div[data-image-number='imageNumber']").css("background-image") );
$("#display_div").css("background-image", $("div[data-image-number='imageNumber']").css("background-image"));
此时我通过 if 子句查找每个案例:
if ( imageNumber == 1 )
{
$("#display_div").css("background-image", $("div[data-image-number='1']").css("background-image"));
}
if ( imageNumber == 2 )
{
$("#display_div").css("background-image", $("div[data-image-number='2']").css("background-image"));
}
我需要这个定时器来通过变量 "imageNumber" 更新 "display_div" 的背景图像,因为图像在显示器中一张一张地淡出,用户应该有单击预览图像的选项,将变量 "imageNumber" 设置为淡入淡出行中的位置,淡入淡出行将再次正常工作。
我 fear/guess 这个问题没有语法,我必须用另一种方式解决它,或者使用 if 子句,对吗?
您只需使用字符串连接:
$("#display_div").css("background-image", $("div[data-image-number=" + imageNumber + "]").css("background-image"));
或者如果您要连接的内容可能有空格等,请使用引号:
$("#display_div").css("background-image", $("div[data-image-number='" + imageNumber + "']").css("background-image"));
在 ES6 (ECMAScript 2015) 中,您还可以使用模板字符串:
$("#display_div").css("background-image", $(`div[data-image-number='${imageNumber}']`).css("background-image"));
...但大多数浏览器尚不支持它们。