用Jquery替换div参数

时间:2017-08-17 20:10:18

标签: javascript jquery

我想删除data-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', '');
});

5 个答案:

答案 0 :(得分:2)

你很亲密。您只需要取代替换的值并将其放回原始字符串中。使用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>

答案 1 :(得分:1)

使用正确的属性应该可以使这个工作。因为它不是line.startswith(special_string) 而是href属性。

使用Vanilla JS和data

dataset
$('.um-notification-ajax').each(function(){

    this.dataset["notification_uri"] = this.dataset["notification_uri"].replace('/settings', '');
    console.log(this.dataset["notification_uri"]);
});

使用jQuery解决方案:

<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', ''));
    console.log($(this).data("notification_uri"));
});

答案 2 :(得分:0)

这个怎么样:

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

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

那是因为您试图替换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)
})