Как изменить характер динамически создаваемого значения href, не удаляя ha sh с помощью jquery - PullRequest
1 голос
/ 08 января 2020

Я хотел изменить id и значение href другого элемента, которые создаются динамически

Я сделал это, и он работает для id, но не работает с href, это

jQuery(document).ready(function() {
jQuery('.cstm_title h3').each(function(){
var charMap = {Ç:'c',Ö:'o',Ş:'s',İ:'i',I:'i',Ü:'u',Ğ:'g',ç:'c',ö:'o',ş:'s',ı:'i',ü:'u',ğ:'g'};
this.id = this.id.replace(/Ç|Ö|Ş|İ|I|Ü|Ğ|ç|ö|ş|ı|ü|ğ/g, function(matched){
  return charMap[matched];
});
});
});


jQuery(document).ready(function() {
jQuery('#cstm_content a').each(function(){
var charMap = {Ç:'c',Ö:'o',Ş:'s',İ:'i',I:'i',Ü:'u',Ğ:'g',ç:'c',ö:'o',ş:'s',ı:'i',ü:'u',ğ:'g'};
this.href = this.hash.substr(1).replace(/Ç|Ö|Ş|İ|I|Ü|Ğ|ç|ö|ş|ı|ü|ğ/g, function(matched){
  return charMap[matched];
});
});
});

И это это результат для id, он работает, но для href не работает.

<div class="test"><div id="cstm_content" class="list-group">    
    <a class="list-group-item list-group-item-action" href="%C4%B0zmir">İzmir</a>
    <a class="list-group-item list-group-item-action" href="%C3%9Csk%C3%BCp">Üsküp</a>
</div>

<div data-spy="scroll" data-target="#cstm_content" data-offset="30" class="scrollspy-example">
  <div class="cstm_card">
      <div class="cstm_title">
      <h3 class="cstm_c_title" id="izmir">İzmir</h3>
      <p class="cstm_c">Here is paragraph</p>   
      <h3 class="cstm_c_title" id="uskup">Üsküp</h3>
      <p class="cstm_c">Here is paragraph</p> 
      </div>
   </div>
</div>

Я новичок в jquery Я создаю все с помощью Google, но не смог найти решение для этого. Если есть более простой способ, который вы предоставите, я буду счастлив.

1 Ответ

0 голосов
/ 08 января 2020

Я решил это следующим

jQuery(document).ready(function() {
jQuery('#cstm_content a').attr('href', function (_, href) {
    var charMap = {Ç:'c',Ö:'o',Ş:'s',İ:'i',I:'i',Ü:'u',Ğ:'g',ç:'c',ö:'o',ş:'s',ı:'i',ü:'u',ğ:'g'};
    return href.replace(/Ç|Ö|Ş|İ|I|Ü|Ğ|ç|ö|ş|ı|ü|ğ/g, function(matched){
  return charMap[matched];
});
});
});


jQuery(document).ready(function() {
jQuery('.cstm_title h3').attr('id', function (_, id) {
    var charMap = {Ç:'c',Ö:'o',Ş:'s',İ:'i',I:'i',Ü:'u',Ğ:'g',ç:'c',ö:'o',ş:'s',ı:'i',ü:'u',ğ:'g'};
    return id.replace(/Ç|Ö|Ş|İ|I|Ü|Ğ|ç|ö|ş|ı|ü|ğ/g, function(matched){
  return charMap[matched];
});
});
});
...