jQuery:从数据属性中删除除前 4 个字符以外的所有字符
jQuery: remove all but first 4 characters from data attribute
我正在尝试从每个 div 的数据属性中删除除前 4 个字符以外的所有字符,下面的标记如下:
HTML
<div class="grid-block" data-category="17.40—18.20">text</div>
<div class="grid-block" data-category="18.40—19.40">text</div>
<div class="grid-block" data-category="19.20—20.20">text</div>
<div class="grid-block" data-category="20.40—21.30">text</div>
期望的结果是这样的:
<div class="grid-block" data-category="1740">text</div>
<div class="grid-block" data-category="1840">text</div>
<div class="grid-block" data-category="1920">text</div>
<div class="grid-block" data-category="2040">text</div>
最好也从每一个中删除点,但这不是必需的。不确定是否可行,如有任何建议,将不胜感激!
遍历所有具有 [data-category]
属性的元素,并从属性中删除 .
字符,然后使用 .substring(0, 4)
检索前 4 个字符:
$('[data-category]').each(function () {
var category = $(this).data('category').replace('.', '').substring(0, 4);
$(this).attr('data-category', category);
});
不过您不需要 jQuery 来执行此操作:
var elements = document.querySelectorAll('[data-category]');
Array.prototype.forEach.call(elements, function (el) {
var category = el.dataset.category.replace('.', '').substring(0, 4);
el.setAttribute('data-category', category);
});
尝试replace
和subString
得到你的结果
类似于:
var x = document.getElementByClassName("grid-block")[0];
var inner = x.innerHTML;
inner = inner.replace('-','').replace('.','').subString(0,4); // subString(start,length)
x.innerHTML = inner;
我正在尝试从每个 div 的数据属性中删除除前 4 个字符以外的所有字符,下面的标记如下:
HTML
<div class="grid-block" data-category="17.40—18.20">text</div>
<div class="grid-block" data-category="18.40—19.40">text</div>
<div class="grid-block" data-category="19.20—20.20">text</div>
<div class="grid-block" data-category="20.40—21.30">text</div>
期望的结果是这样的:
<div class="grid-block" data-category="1740">text</div>
<div class="grid-block" data-category="1840">text</div>
<div class="grid-block" data-category="1920">text</div>
<div class="grid-block" data-category="2040">text</div>
最好也从每一个中删除点,但这不是必需的。不确定是否可行,如有任何建议,将不胜感激!
遍历所有具有 [data-category]
属性的元素,并从属性中删除 .
字符,然后使用 .substring(0, 4)
检索前 4 个字符:
$('[data-category]').each(function () {
var category = $(this).data('category').replace('.', '').substring(0, 4);
$(this).attr('data-category', category);
});
不过您不需要 jQuery 来执行此操作:
var elements = document.querySelectorAll('[data-category]');
Array.prototype.forEach.call(elements, function (el) {
var category = el.dataset.category.replace('.', '').substring(0, 4);
el.setAttribute('data-category', category);
});
尝试replace
和subString
得到你的结果
类似于:
var x = document.getElementByClassName("grid-block")[0];
var inner = x.innerHTML;
inner = inner.replace('-','').replace('.','').subString(0,4); // subString(start,length)
x.innerHTML = inner;