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

How to get class name dynamically from element on jQuery?

本文关键字:动态 获取 元素 jQuery      更新时间:2024-07-07

有没有一种方法可以像使用索引或数组一样获得类名的值?我有这个代码:

<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-by-now-button-64。我不想使用$(".wpsc-by-button-64"),因为我的计划是把它放在一个变量上,比如so

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

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

如果您想读取输入的类,请给它一个id,然后使用-

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

如果你想让选择器使用类,你可以将类名存储到你提到的某个变量中——

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

然后像这样使用

$('.'+$classOfBtn)

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/

假设这就是您所拥有的;

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

这会很好用:

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

更新:

如果你确实想获得所有的类,你必须指定一些其他的方法来识别你的input,这样它就可以被检索并"询问"它的类列表。

请参见此处。

用字符串代替文字,并按照此处的说明进行操作:

使用jQuery 获取类名

如果你能描述一下动态获取按钮的意思,那也会很有帮助?

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

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