2010-01-25 36 views
0

嘿,我想知道如何使用jquery为下面的脚本动态地获取类名。如何使用jquery获取类名?

的HTML输出如下:

<div id="main-info-1" class="maini"> 
    <p>this is a paragraph.</p> 
</div> 

所以,我试图让类名动态,而不是硬编码像它上面。

有两个部分,我需要得到的jQuery脚本类名称:

1.) pc.children('div.maini').remove(); 

2.) maini_s = $('div.maini').remove(); 

正如你可以看到类的迈尼'是硬编码和IM不确定如何动态获取类名并把它正确地放在脚本中。

jQuery的文件:

<script type="text/javascript"> 
// make them global to access them from the console and use them 
// in handlePaginationClick 
var maini_s; 
var num_of_arts; 
var ipp; 

function handlePaginationClick(new_page_index, pagination_container) { 
    var pc = $(pagination_container); 
    pc.children('div.maini').remove(); 
    for(var i=new_page_index*ipp; i < (new_page_index+1)*ipp ;i++) { 
     if (i < num_of_arts) { 
       pc.append(maini_s[i]); 
     } 
    } 
    return false; 
} 

$(document).ready(function() { 
    maini_s = $('div.maini').remove(); 
    num_of_arts = maini_s.length; 
    ipp = 3; 

    // First Parameter: number of items 
    // Second Parameter: options object 
    $("#News-Pagination").pagination(6, { 
     items_per_page:ipp, 
     callback:handlePaginationClick 
    }); 
}); 


     </script> 

任何帮助将是真棒,谢谢。

+0

从哪里动起来?你只需要它是一个全球js var? – Jage 2010-01-25 01:50:23

+0

查看hasClass()的示例addClass()removeClass()和toggleClass() – 2010-01-25 07:42:19

回答

6

这取决于你究竟是什么之后。

你可以使用jQuery或普通的JavaScript类名称:

// jQuery 
$myElement.attr('class'); 

// javascript 
myElement.className 

这会给你的元素的class属性的字符串值。如果元素有多个类(例如:<div class="foo bar">),则上述方法将返回"foo bar"。如果你想要一个元素类数组的形式,那么你只需要在结果上的空白分裂:

var classes = myElement.className.split(/\s+/); 
// classes = ["foo", "bar"] 
2

使用jQuery来获取类的名字是这样的:

$('#main-info-1').attr('class'); 
0

您可以检测,添加和删除类,而无需使用多个类时担心分裂的空白。还有一个方便的开关:

// toggle example 
$('ele').toggleClass('active'); 

// toggle with optional bool parameter 
$('ele').toggleClass('active', isActive); 

// detect/add/remove classes without having to split on blank space " " 
if ($('ele').hasClass('dull')) 
    $('ele').removeClass('dull').removeClass('productive'); 
else 
    $('ele').addClass('fun').addClass('profitable');