如何从jQuery上的元素动态获取类名?

时间:2013-12-11 05:47:44

标签: javascript jquery

有没有办法像使用索引或数组一样获取类名的值?我有这段代码:

<input class="wpsc-buy-now-button wpsc-buy-now-button-64" type="image" name="submit" border="0" src="https://www.paypal.com/en_US/i/btn/btn_buynow_LG.gif" alt="PayPal - The safer, easier way to pay online">

我想动态地获得wpsc-buy-now-button-64。我不想使用$(“。wpsc-buy-button-64”),因为我的计划是把它放在一个像这样的变量上

var $classOfBtn = wpsc-buy-now-button-64;

64是一个id,我需要与foreach中的另一个值进行比较。这取决于内容。

5 个答案:

答案 0 :(得分:1)

<强> HTML
为控件提供ID。

<input id="btn" class="wpsc-buy-now-button wpsc-buy-now-button-64" type="image"
    name="submit" border="0" src="https://www.paypal.com/en_US/i/btn/btn_buynow_LG.gif"
    alt="PayPal - The safer, easier way to pay online" />

<强>使用Javascript:

$(document).ready(function () {
    var $classOfBtn = $('#btn').attr('class').split(' ')[0] + '-64';
    alert($classOfBtn );
});

修改
如果您的控件名为submit,则可以执行以下操作:

$(document).ready(function () {
    var $allClasses = $("[name='submit']").attr('class').split(' ');
    for(var i=0; i < $allClasses.length; i++)
    {
        // Check $allClasses[i] here.
    }
});

请参阅我的例子:http://jsfiddle.net/jwyF8/

答案 1 :(得分:1)

如果你想阅读输入的类,给它一个id,然后使用 -

var className = $('#id').attr('class');

如果你想使用类创建选择器,你可以将类名存储到某个变量中,如你所提到的那样 -

var $classOfBtn = wpsc-buy-now-button-64;

然后像这样使用它 -

$('.'+$classOfBtn)

答案 2 :(得分:0)

假设这就是你所拥有的;

var $classOfBtn = 'wpsc-buy-now-button-64';

这样可以正常工作:

$('.' + $classOfBtn) //note the dot

更新

如果您确实想要获得所有课程,则必须指定一些其他方法来识别您的input,以便可以检索并“询问”其课程列表。

请参阅here

答案 3 :(得分:0)

将字符串替换为文字,并按照此处的说明操作:

Get class name using jQuery

如果您可以通过动态获取按钮来描述您的意思,这也会有所帮助吗?

答案 4 :(得分:0)

您可以将所有类放在数组中,如下所示:

var classArray = $('input').attr('class').split(' ');
// So now you can declare variables
var classbtn1 = classArray[0];
var classbtn2 = classArray[1];