我有以下三行,前两行获取文档上的所有图像并隐藏所有图像,但是当我添加第三行时显示所有图像。
我需要它只隐藏属性alt = minimize和alt = maximize的图像,但由于某种原因隐藏了所有图像。
$('img').attr('alt', 'minimize').css("display","none");
$('img').attr('alt', 'maximize').css("display","none");
$('img').attr('alt', 'logo').css("display","inline");
我使用的是IE7,但它应与IE6和IE8兼容。
非常感谢任何帮助。
感谢。
答案 0 :(得分:5)
我认为您没有正确使用attr功能,可能您正在寻找attribute equals selector?:
$('img[alt=minimize]').css("display","none");
您对代码所做的是,
'minimize'
'maximize'
'logo'
答案 1 :(得分:2)
你做了什么:你拿走文件中的每个img
并将alt
设置为logo
,然后设置display: inline;
。
请注意,attr('alt',string)
不会将所有图片过滤为alt=string
的用户,而是将alt
属性设置为string
所有图片。
您想要使用的是:
$('img[alt="minimize"]').css...
$('img[alt="maximize"]').css...
$('img[alt="logo"]').css...
答案 2 :(得分:1)
在电话$('img')。attr('alt','logo')。css(“display”,“inline”); “attr”不会过滤你用$(“img”)捕获的dom元素集。
如果你想隐藏任意而不是带有'alt'='logo'属性的图像,我想你可以:
给它一个标识ID,然后调用:$(“img”)。not(“#logo”)。hide()
隐藏():
匹配的元素将被隐藏 马上,没有动画。这个 大致相当于打电话 .css('display','none'),除了 display属性的值是 保存在jQuery的数据缓存中 显示器以后可以恢复到它的状态 初始值。如果元素有 显示内联的值,然后是 隐藏和显示,它将再一次 以内联方式显示。
和
attr(attributeName) 返回:String
描述:获取一个值 属性中的第一个元素 一组匹配的元素。
如果您希望隐藏所有最大化和最小化图像(两者共享属性的“imize”部分): $(parentElement).find(“img [@attr $ ='* imize']”)。hide()
答案 3 :(得分:0)
OP指的是
http://dev.w3.org/csswg/css3-values/#attr
alt我认为只是一个字符串类型,而不是“徽标”,不管是什么,都不是数据类型。 试试看。事实上,你可以在html5 img
中查找althttp://www.w3.org/TR/html5/the-img-element.html#the-img-element
http://www.w3.org/TR/html5/the-img-element.html#attr-img-alt
http://www.w3.org/TR/html5/the-img-element.html#alt
(按参考点击的顺序,最后一个是目标)
即使这不是确切的答案(它应该是),它应该是朝着正确方向迈出的一步。
我实际上是在努力弄清楚如何使用attr()在css中引用css属性 - 它在顶部URL中提到。如果我有我的druthers,我可以使用css calc()和它,但那是草稿。也许我可以让它工作......