使用jQuery在页面上向图像等添加类属性?

时间:2012-08-03 18:10:15

标签: jquery class attributes add

李帮助?由于我的jQuery.noob状态而提前道歉,但我正在绘制一个空白,并且关于为什么这不起作用的想法。也许这里有人可以看到我不是的东西?我一定会感激任何帮助。

问题

这个网页上有几个图像(也是段落等),我想添加一个类。他们目前没有上课。

为什么我要添加课程

我想使用CSS3来定位该类并设置任何具有它的样式。更具体地说,这将是一个弹出式菜单,我想调整它的不透明度并设置其输入和动画。退出。

我是如何尝试这样做的

<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
    $("document").ready(function() {
        $("img").addClass("menumain");
                   alert("Here I am!"); //This alert will go when I figure this out, I just added it to see if it pops up (it does).
    });
</script>

我也是这样尝试的(注意:我的所有图片都包含文件名中的字符串“menumain-”

<script type="text/javascript" src="../jquery-1.7.2.min.js"></script>
<script type="text/javascript">
    $("document").ready(function() {
        $("img[src*=menumain-]").attr({class:"menumain"});

    });
</script>

那么我尝试时会发生什么?

无。我加载页面,(警报弹出,我解雇)然后使用firebug和/或Safari开发人员工具等扩展身体,并深入查看页面上的图像。我看到了图像属性,但是我没有看到添加类的位置,更不用说“menumain”了,这就是我想要的类。

为什么这让我疯狂

我在同一页面上有另一个jQuery脚本,它做了类似的事情。它将属性,而不是Class属性,但其他属性添加到围绕整个页面的主Div。我对jQuery函数没有任何问题,所以我不明白为什么这个没有用。

为什么它不能正常工作

我从周日开始检查9种语法,但我没有看到任何错误。不过,你知道如何证明阅读语法。

其次我定位的图像(我也试图让同一类中标记的菜单中的文本和按钮)被埋在Div中,如下所示:

<div id="image194" style="visibility: inherit;">
     <a name="image194anc">
          <img width="317" height="564" border="0" alt="menumain-bg-317x564"    src="images/menumain-bg-317x564.png" name="image194Img">
     </a>
</div>

我假设我的目标 $(“img [src = menumain - ]”)*会找到这些图片,无论他们是否在Div中,但也许我错了是什么?

还有一件事

此“网页”由Trivantis称为Lectora的应用程序生成。这是一个WYSIWYG创作工具,适用于创建在线培训的教学设计者(不是Web开发人员)。因此,我不是在DreamWeaver中创建整个内容,也不是可以改变整个Web设计方法。但是我应该能够在一组页面元素上弹出一个类并用CSS定位它们,不是吗?

如果你看错了,请告诉我。这是页面的一个版本 - &gt; http://bit.ly/Rijnl8

5 个答案:

答案 0 :(得分:4)

jQuery有一个内置的添加类的方法。

<script type="text/javascript" src="../jquery-1.7.2.min.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $("img[src*=menumain-]").addClass("menumain");

    });
</script>

http://api.jquery.com/addClass

答案 1 :(得分:1)

您可以将想要样式化的图像放在容器div中,然后执行

$('.container').addClass('yourClass');

然后在课堂上,使用

.yourClass img {}

为这些容器中的所有图像设置样式。这是一种解决方法,但它应该解决您的问题!此外,在HTML5中,不再需要在type="text/javascript"代码中使用<script>

答案 2 :(得分:0)

只需在我构建的应用中执行此操作。你做的是正确的,但你做得还不够。使用.attr函数时添加值:

$('.category').attr('theAttributeHere','theAttributeValueHere');

答案 3 :(得分:0)

这似乎是你想要的http://jsfiddle.net/dstarh/Kxfg7/1/

为页面上的每个图像添加一个类

答案 4 :(得分:0)

在Lectora 11中,您可以向任何对象添加类。选择对象&gt; Propeties选项卡&gt; <外观部分>点击角落里的小箭头。