将 div 参数替换为 Jquery



我想删除数据notification_uri参数中的单词"/settings">

<div class="um-notification-ajax" data-notification_uri="http://website.com/settings/stack/">TEXT</div>

我尝试但没有成功:

$('.um-notification-ajax').each(function(){
this.href = this.href.replace('/settings', '');
});

你很接近。您只需要获取替换的值并将其放回原始字符串中即可。在使用 jQuery 方法时,还需要使用 $(this(:

$('.um-notification-ajax').each(function() {
$(this).attr('data-notification_uri', $(this).attr('data-notification_uri').replace('/settings', ''));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="um-notification-ajax" data-notification_uri="http://website.com/settings/stack/">TEXT</div>
<div class="um-notification-ajax" data-notification_uri="http://website.com/settings/stack/">TEXT</div>
<div class="um-notification-ajax" data-notification_uri="http://website.com/settings/stack/">TEXT</div>

使用正确的属性应该可以完成此操作。因为它不是href,而是data属性。

使用香草JS和dataset

$('.um-notification-ajax').each(function(){
this.dataset["notification_uri"] = this.dataset["notification_uri"].replace('/settings', '');
console.log(this.dataset["notification_uri"]);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="um-notification-ajax" data-notification_uri="http://website.com/settings/stack/">TEXT</div>

使用 jQuery 解决方案:

$('.um-notification-ajax').each(function(){
$(this).data("notification_uri", $(this).data("notification_uri").replace('/settings', ''));
console.log($(this).data("notification_uri"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="um-notification-ajax" data-notification_uri="http://website.com/settings/stack/">TEXT</div>

这个呢:

$('.um-notification-ajax').each(function(){
$(this).data('notification_uri', $(this).data('notification_uri'). replace('/settings', ''));
});

尝试更改它的属性,这里是纯 js:

document.getElementsByTagName('div')
[0].setAttribute('data-notification_uri',
'http://website.com/stack/')

那是因为您正在尝试替换href而不是data-notification_uri

这应该有效:

$('.um-notification-ajax').each(function(i, notification){
var uri = $(notification).attr('data-notification_uri').replace('/settings', '')
$(notification).attr('data-notification_uri', uri)
})

最新更新