【问题标题】:Can you target classes with jquery?你能用jquery定位类吗?
【发布时间】:2011-03-19 08:09:14
【问题描述】:

我想做的是$('.class.img').css('cellpadding', variable);

它似乎不起作用。我尝试谷歌搜索无济于事。任何帮助,将不胜感激。我正在尝试将其应用于具有给定类的元素内的图像。

【问题讨论】:

  • 你想做什么?你想要那个类的 CSS 定义吗?是否要将一些 CSS 应用于具有该类的元素?
  • $('.cellBox:img').css("padding", cellPadding);特别是我试图做到这一点,其中 cellPadding 是一个变量,我试图将它应用到一个带有 class'cellBox' 的 div 内的图像
  • @Gazow:带有“cellBox”类的img元素的正确CSS语法是img.cellBox。所以:$("img.cellBox").css("padding", cellPadding); 但请注意,css支持 CSS 速记属性,例如 padding
  • @TJ,我试图将其应用于 .cellBox 类的子图像,抱歉,我把这个问题搞砸了,我在谷歌上搜索了 10 种不同的东西,试图让这个工作嘿。图像是使用 for 循环动态创建的,因此它们没有类或 id
  • 好的,是的,我想我把这整件事搞砸了,我想现在已经解决了,谢谢

标签: javascript jquery css class selector


【解决方案1】:

CSS 像style="..." 一样应用内联样式属性,并且不修改 .class 本身。

$('.class').css 不做任何事情。

$('.class').css('color','red')写一个颜色样式

$('.class').css('color')读取颜色样式

因此,要在具有“cellBox”类的元素中定位您的img 元素:

var borderx = "1px solid red";
$('.cellbox img').css('border',borderx);

(即设置border,但您可以用同样的方式设置padding。)

http://jsfiddle.net/SBjfp/2/查看工作示例

(请注意,jQuery 文档说像paddingborder 这样的速记属性是not supported;这主要适用于获取 属性;设置 [如上所述]通常有效,因为它受到底层浏览器实现的支持。)

【讨论】:

  • 既然这个答案基本上是正确的,我冒昧地将选择器位复制到 以防链接失效,并标记文档的内容说一下速记属性。还清理了一堆与编辑后的答案不再相关的箔条。
【解决方案2】:

jQuery 选择器引擎与类选择器完美配合。

唯一明显的错误(可能还有其他事情,但您没有提供任何上下文(例如文档的外观或何时该语句运行))是css 是一个函数,您没有调用它(即css('foo'))。

【讨论】:

    猜你喜欢
    • 2011-01-27
    • 2016-11-26
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    相关资源
    最近更新 更多