这可以用CSS完成吗?

时间:2012-02-07 20:08:25

标签: jquery css

我有自动从jquery脚本获取名称的css类: 所以它会像#imgHere01#imgHere22#imgHereSomething#imgHereAnother等。 我可以强制CSS来控制所有这些吗? 喜欢

#imgHere_ALL {width:333px;}

#imgHere_xxx因此会影响imgHere之后生成的每一类。

我不知道CSS是否可行。 也许是jQuery?

8 个答案:

答案 0 :(得分:3)

使用CSS正则表达式选择器:

div[id^='imgHere']{
   /** styles */
}

这将选择ID为“imgHere”的所有div。但正如所建议的那样,更好的做法是给所有元素一个共同的类名。

答案 1 :(得分:2)

更好的方法是给他们所有共享课程。然后你可以做这样的事情:

.imgHere{
   width: 333px;
}

答案 2 :(得分:1)

是的,如果他们共享一些共同元素(例如类,父级等),那么您应该能够使用CSS selectors以相同的方式设置它们。

即:

.myImages {
    //Whatever styling you want applied to all
}

parent img {
   //Whatever styling you want applied to all
}

您也可以使用jQuery执行此操作,但使用CSS更简单。

答案 3 :(得分:1)

您想为此使用Css类:

.image-all
{
    width: 333px;
}

然后确保添加它;但是你创建你的图像:

$('<img />').addClass('image-all');

或者假设你不能添加一个类,因为它是第三方脚本。那么也许你可以将它们放在一个容器中:

<div class="image-all">
    ... image container
</div>

然后在你的CSS中:

.image-all img
{
    width: 333px;
}

答案 4 :(得分:0)

我希望我能正确理解你,但这在CSS中应该非常简单。如果你想要某些东西影响“所有的东西”,那么只需在CSS中给它另一个类。这适用于静态物体,如高度和宽度。

给他们一个分享的课程。

答案 5 :(得分:0)

您可以使用属性选择器:

img[id="imgHere"] {
    /* css */
}

这个选择器依赖于现代浏览器,因此小于9的IE不太可能发挥出色。简单地使用生成id的jQuery脚本添加类会更容易。

答案 6 :(得分:0)

您可以尝试这些css selectors

#imgHere ~ something
#imgHere + something
div[id^='imgHere'] ~ something

答案 7 :(得分:0)

尝试使用CSS选择器*[class^=imgHere] { width:333px}。用更具体的CSS选择器替换*以提高效率。可以找到CSS选择器信息here