我如何在JQuery中执行这个简单的任务...显示图像

时间:2010-01-14 00:15:37

标签: javascript jquery image

我有很多这些装载标志。

<span id="loading" rel="1n" style="display:none;">Loading...</span>
<span id="loading" rel="2a" style="display:none;">Loading...</span>
<span id="loading" rel="3w" style="display:none;">Loading...</span>

请注意,唯一的区别是 rel

如何编写JQuery脚本以便选择要显示的脚本?:

$("#loading").show() where rel = "2a"?

3 个答案:

答案 0 :(得分:4)

以这种方式尝试:

$("#loading[rel='2a']").show();

修改

很简单,无论语言如何,都是字符串的简单连接

var yourVariable = "2a";
$("#loading[rel='"+yourVariable+"']").show();

答案 1 :(得分:1)

如果要显示具有“2a”的rel属性的所有跨度

$('span[rel=2a]').show();

显示具有以“2a”开头的rel属性的所有跨度

$('span[rel^=2a]').show();

More info on selectors

另外,每个元素的id应该是唯一的,所以我建议使用类来标记加载图像而不是id。

所以你会有

<span rel="1n" style="display:none;" class="loading-message">Loading...</span>
<span rel="2a" style="display:none;" class="loading-message">Loading...</span>
<span rel="3w" style="display:none;" class="loading-message">Loading...</span>

你的jquery将是:

$('.loading-message[rel^=2a]').show();

更新:执行变量只需:

var x = "2a";
$('span[rel^='+x+']').show();

答案 2 :(得分:0)

$('#loading[rel=1n]').show();

但是,你真的不应该在你的dom中重复ID。