这段代码中的反斜杠是做什么的?他们在逃避什么?

时间:2018-08-08 21:03:01

标签: javascript jquery

我查看了有关反斜杠的其他问题,但没有找到一个可以为我解决的方法。我知道反斜杠转义字符在jQuery中,但是我对以下代码中的字符感到困惑。该代码取自我正在学习的一门课程,但是没有解释这部分。

这是代码的jQuery部分,在append()函数的第14行中,每行末尾都有一个反斜杠。该代码按原样工作,如果我删除反斜杠并保持换行符,则该代码将不起作用,但是如果我删除反斜杠并删除换行符(所有东西都聚集在一起),它将再次起作用。

能不能请您解释一下这里发生的事情?

编辑:有人指出,这是一个重复的问题。最初查看时,我只是找不到原始问题。

countPos = 0;
            
$(document).ready(function(){
   console.log("Document ready called");
   $('#addPos').click(function(event){
        event.preventDefault();
        if (countPos >= 9) {
              alert("Maximum of nine position entries exceeded");
              return;
        }
        countPos++;
        console.log("Adding position "+countPos);
        $('#position_fields').append(
             '<div id="position'+countPos+'"> \
              <p>Year: <input type="text" name="year'+countPos+'" value=""/> 
               \
              <input type="button" value="-" \ 
                   onclick="$(\'#position'+countPos+'\').remove();return 
                   false;"></p> \
              <textarea name="desc'+countPos+'" rows="8" 
              cols="80"></textarea>\
              </div>'
               );
           });
                
       });
            
            

2 个答案:

答案 0 :(得分:0)

这些允许您将字符串分成多行。没有它们,您会得到一个错误。

答案 1 :(得分:0)

它通常用于下一行而不破坏字符串。 (以保持代码干净)。

代替:

 $('#position_fields').append(
             '<div id="position'+countPos+'">'+
              '<p>Year: <input type="text" name="year'+countPos+'" value=""/>'+ 

              '<input type="button" value="-" '+ 
                   'onclick="$(\'#position'+countPos+'\').remove();return '+
                   'false;"></p> '+
              '<textarea name="desc'+countPos+'" rows="8" '+
              'cols="80"></textarea>'+
              '</div>'
               );
           });

如您所见,这样一来,我每次转到另一行时都必须断开字符串。 因此,我可以使用****反斜杠

来代替断开和连接字符串的操作