Я хочу выбрать значение второго класса с помощью jquery. Например; Выберите имя класса div с jquery
<div class="mb-20"></div>
Как я могу получить "20" значение после того, как от "mb-"?
Я хочу выбрать значение второго класса с помощью jquery. Например; Выберите имя класса div с jquery
<div class="mb-20"></div>
Как я могу получить "20" значение после того, как от "mb-"?
Если вы уже выбрали div, вы можете перебирать его классы и разбивать каждый класс на дефис. Что-то вроде ...
$.each($('div').attr('class').split(/s+/), function(idx, val) {
var parts = val.split('-');
var classBase = parts[0];
var classModifier = parts.length > 1 ? parts[1] : null;
if(classModifier !== null) alert("found class modifier" + classModifier);
});
Здесь образец того, что вам нужно, чтобы проиллюстрировать это, я сделал это, когда вы нажимаете div.
// The selector just get all class starting with mb
$('[class^="mb"]').on('click', function() {
alert($(this).attr('class').split('-')[1]);
});
А вот FIDDLE
Большое спасибо за вашу помощь. Существует только проблема, когда вы добавляете более класс, и он тоже принимает его; https://jsfiddle.net/hfezwfqj/1/ – kront
Если div
s имеют более чем один класс, вы можете сделать это:
$('[class^="mb"]').on('click', function() {
alert($(this).attr('class').split(' ')[0].split('-')[1]);
});
Это позволит получить первый класс элемента первого, второй, разделите его на -
и верните номер.
Там нет «второго» значения класса, это единственное имя класс – adeneo
Если вы хотите целевые каждый элемент с классом, который заканчивается '20', вы можете сделать' $ ('[класс $ = «20»] ') ' – adeneo
Вы разбираете« 20 »из строки« mb-20 ». Как вы определяете свой шаблон для анализа значения, зависит от вас. Вы можете разделить строку на «-» и взять второй индекс или последний индекс. Вы можете заменить «mb-» на ничего. Вы можете взять подстроку, начинающуюся с индекса 3. И т. Д. У вас есть строка. То, что вы хотите, является частью этой строки. Определите шаблон, который дает вам эту часть, и реализуйте это. – David