javascript
  • syntax
  • 2010-11-29 6 views 1 likes 
    1

    Мне нужно сделать функцию JQuery, которая записывает в div некоторые элементы HTML.Javascript - Как я могу написать свой чистый код?

    Код это:

    function loadAppartamenti() { 
        $('.profilo_2').empty(); 
        $('.profilo_2').html("<label class='article_span'>Inserisci Zona (es. Via/Località)</label>/
              <input id='art_1' class='article_input' />/
              <label class='article_span'>Costo (€ Mese)</label>/
              <input id='art_2' class='article_input' />/
              <label class='article_span'>Disponibilità (Periodo In Mesi)</label>/
              <input id='art_3' class='article_input' />/
              <label class='article_span'>Condizioni</label>/
              <input id='art_4' class='article_input' />/
              <label class='article_span'>Servizi Presenti</label>/
              <input id='art_5' class='article_input' />"); 
    } 
    

    мне нужно очистить код как можно более чистым, поэтому я уже выровнены (я перейти на новую строку, когда я пишу строку).

    Я знаю, что на Javascript я могу это сделать, добавив / в конце каждой строки. Но, возможно, я ошибаюсь. На самом деле, если я запустил этот код в Chrome, консоль скажет «Uncaught SyntaxError: Неожиданный токен ILLEGAL».

    Как исправить эту проблему? Я не хочу, чтобы написать код на 1 строку :)

    +0

    Что произойдет, если вы удалите лишний «/»? Я предполагаю, что это сработает. Он будет отображаться только как 1 строка в визуализированном HTML, но это не так, когда читаемость считается в любом случае (ни для пользователя, ни для разработчика). –

    +1

    , кстати, это не имеет ничего общего с jQuery, просто синтаксисом строки JavaScript. – Matt

    ответ

    11

    Вам нужен обратный слэш в конце каждой строки, а не прямой слэш:

    var s = "one\ 
         two\ 
         three"; 
    
    +0

    Даамн. Мне около 30 минут на эту проблему. Моя вина. Спасибо, hehe – markzzz

    4

    Вы думали о

    var textArray = [...]; // insert your text content 
    var portfilo = $(".profilo_2"); 
    for (var i = 0; i < 5; i++) { 
        profilo.append(
         $("<label>").addClass("article_span").text(textArray[i]) 
        ).append(
         $("<input>").attr("id", "art_"+ i).addClass("input_span") 
        ) 
    } 
    

    Вы можете кэшировать/оптимизировать его, если хотите.

    +0

    Да. Также хорошая идея :) – markzzz

    +0

    +1 для оптимизации объемного кода html – Jakub

    Смежные вопросы