Базовый подход JS:
<div id="x" class="widget-2 lang-日本語">foo</div>
function Element_getClassArgument(el, name) {
var classes= el.className.split(' ');
var prefix= name+'-';
for (var i= classes.length; i-->0;)
if (classes[i].substring(0, prefix.length)==prefix)
return classes[i].substring(prefix.length);
return null;
}
Element_getClassArgument(document.getElementById('x'), 'widget'); // 2
Если вы хотите включить пробельные символы или дефис в имя, вам придется ввести некую схему кодирования, например encodeURIComponent
.Но часто вы можете обойтись без этого.
Завершение чего-либо с $
в названии оставлено в качестве упражнения для читателя.: -)