0

我想隐藏加载时的所有 div,实际上并不是所有的 div,而只有具有特定 ID 的那些

我有这种情况:

HTML:

<div id="dialog-'+this.id+'" style= "margin-left:25px; width:500px; height:180px"></div>
<img src="images/map.jpg"  id = "mapicon" onClick="showhide('+this.id+');">

JS:

function showhide(id){
    $("#dialog-"+id).toggle();
}

当我在页面进入时使用循环创建所有这些 div 时,我想要的是隐藏所有以“dialog-”开头的 div。因此,一旦我单击地图图标,它就会显示具有特定 ID 的特定 div。

我正在考虑在 jQuery onload 页面中创建一个循环,但我仍然不知道我的最终 ID 是什么,我不确定这是否是一个好方法。有什么建议吗?

4

4 回答 4

2

您可以使用“属性开始于”选择器:

$('[id^="dialog-"]').hide();

它在 CSS3 中也可用,因此如果旧浏览器不是问题,则不需要 javascript。

于 2013-06-17T11:53:00.707 回答
0

通过添加

display:none; on style="" tag, 

这解决了问题...

我只是想让其他人知道他们是否面临这个问题,或者也想知道这种方式的效率如何......

于 2013-06-17T13:11:25.680 回答
0

尝试使用 . 隐藏()喜欢

$(document).ready(function(){
    $('div[id^="dialog-"]').hide();
});

这将选择所有以“dialog-”开头的 div

于 2013-06-17T11:52:47.620 回答
0

你可以这样做 -

$('div[id^="dialog-"]').hide();
于 2013-06-17T11:53:18.677 回答