跨类样式通过类搜索更改

时间:2013-07-25 19:15:31

标签: jquery styles

我想要做的是更改范围的样式属性。我可以通过搜索一个类的子元素, 但它并没有改变那个元素的风格。这是我的代码:

$(".cmbdiaclase > span").each(function ()
    {
         if($(this).attr("class") == "selectBox-label"){
            $(this).style.width = "70px"; //no change style a element

         }
    });

我希望你能帮帮我,谢谢你。

6 个答案:

答案 0 :(得分:3)

$(".cmbdiaclase > span").each(function () {
    if($(this).hasClass('selectBox-label')){
        $(this).css('width', '70px'); 
    }
});

答案 1 :(得分:3)

这是另一种使用改进的选择器

来实现更多jQuery样式的方法
$(".cmbdiaclase > span.selectBox-label").css("width", "70px");

但请注意,除非width元素的CSS <span>属性设置为display或{{}},否则您不会看到对CSS block属性的任何更改{1}}。

如果您想保留相同的代码,那么您只需更改原始代码中的一些内容即可。设置CSS样式时,您应该使用.css()。测试课程时,您可以使用.hasClass(className)

inline-block

答案 2 :(得分:1)

$(".cmbdiaclase > span").each(function () {
        if($(this).hasClass('selectBox-label'){
             $(this).css('width', '70px');
        }
});

答案 3 :(得分:1)

在此解决方案中,您需要使用 CSS()功能来更改样式。

$(".cmbdiaclase > span").each(function ()
    {
         if($(this).hasClass("selectBox-label")){
            $(this).css('width','70px'); //no change style a element

         }
    });

答案 4 :(得分:0)

<强> JS:

变化:

$(this).style.width = "70px"; //no change style a element

到:

$(this).style.width("70px");

由jQuery的width文档:

定义
  

.width(value)

     

值   类型:字符串或数字   一个整数,表示像素数,或整数以及附加的可选测量单位(作为字符串)。

正如其他人提到的那样,你也应该改变你的用法:

if($(this).attr("class") == "selectBox-label"){

要:

if($(this).hasClass('selectBox-label')){

hasClass的jQuery文档定义:

  

描述:确定是否为任何匹配的元素分配了给定的类    .hasClass(className)
  类名
  类型:字符串
  要搜索的班级名称。

答案 5 :(得分:0)

你几乎是对的:

$(".cmbdiaclase > span").each(function () {
    // use hasClass, instead of checking the attr("class"), this will only work if it has 1 class.
    if($(this).hasClass('selectBox-label')){
        // This is wrapped in a jQuery $( ) which makes it a jQuery object
        $(this).css('width', '70px');

        // Not wrapped in a jQuery $( ), it stays the DOM object. 
        this.style.width = "70px";  
    }
});

所以这取决于你在上下文中如何使用它。你想要一个jQuery对象还是一个DOM对象。