2016-04-07 9 views
0

に特殊文字を持つ要素を選択します。jQueryのは、私はIdが特別charatersが含まれています。このHTML持っ同上

<input type="text" id="e09b989c-7201-4b7e-8fd4-a2309db6d356|b5d9746a-7f7c-432d-a4ef-a5e0011d989d|IssueDate" name="e09b989c-7201-4b7e-8fd4-a2309db6d356|b5d9746a-7f7c-432d-a4ef-a5e0011d989d|IssueDate" value=""> 
<input type="hidden" id="Type_e09b989c-7201-4b7e-8fd4-a2309db6d356|b5d9746a-7f7c-432d-a4ef-a5e0011d989d|IssueDate" name="Type_e09b989c-7201-4b7e-8fd4-a2309db6d356|b5d9746a-7f7c-432d-a4ef-a5e0011d989d|IssueDate" value="date"> 
<br> 
<input type="text" id="1c36b33a-85d8-4811-93f6-a5e000ad985c|b795c0b4-1c8b-4d9e-95c5-a5e0011d8505|FromDate(mm/dd/yyyy)" name="1c36b33a-85d8-4811-93f6-a5e000ad985c|b795c0b4-1c8b-4d9e-95c5-a5e0011d8505|FromDate(mm/dd/yyyy)" value="" class=""> 
<input type="hidden" id="Type_1c36b33a-85d8-4811-93f6-a5e000ad985c|b795c0b4-1c8b-4d9e-95c5-a5e0011d8505|FromDate(mm/dd/yyyy)" name="Type_1c36b33a-85d8-4811-93f6-a5e000ad985c|b795c0b4-1c8b-4d9e-95c5-a5e0011d8505|FromDate(mm/dd/yyyy)" value="DateTime"> 

を、私はそれらを更新するには、このjQueryのを使用しています:

$("input[id^='Type_']").each(function() { 
     if ($(this).val() == "date" || $(this).val() == "DateTime") { 
     console.log($(this).attr('id')); 
      var id = $(this).attr('id').replace("Type_", "").replace(/\|/g, "\\|").replace(/\//g, "\\\\\/").replace(/\)/g, "\\\\\)").replace(/\(/g, "\\\\\("); 

      console.log(id); 
      console.log(">>" + $("#" + id)); 

      $("#" + id).val(id); 
     } 
    }); 

しかし、第2のID "|"そして「(」が選択されていない 私はここでテストしてい:。?。http://jsfiddle.net/MWadX/446/

誰かが私を助けることができる おかげであなたは特殊文字をエスケープする方法に問題がある

答えて

2

var id = this.id.replace(/[|\(\)#\\\/]/g, '\\$&'); 

デモ:Fiddle

0
  $("input[id^='Type_']").each(function() { 
       if ($(this).val() == "date" || $(this).val() == "DateTime") { 
        var tempID = $(this).attr('id'); 
        var temp_ID1 = this.id.replace(/[|\(\)#\\\/]/g, '\\$&'); 
        console.log(temp_ID1); 
        console.log("#" + temp_ID1); 
       } 
      }); 
関連する問題