$ jQuery (документ) .ready () и document.write ()

String::split

Я не знаю, как сказать «взять все до табуляции и сохранить его под именем переменной» и «перевести все с табуляции в новую строку и сохранить его в переменной URL» ».

blockquote>

Используйте метод String::split , чтобы нарезать строку на меньшие строки. Укажите разделитель ( TAB ), используемый между полями в каждой строке. Вы получаете обратно массив String объектов, по одному на каждое поле строки.

String[] fields = line.split( "\t" ) ;    // Chop string into smaller strings.
String name = fields[ 0 ] ;               // Annoying zero-based index counting.
String url = fields[ 1 ] ;

Вы должны добавить код, чтобы убедиться, что вы получили ожидаемое количество полей в размере массива.

Подсказка: Используйте библиотеку для рутинной работы по чтению и записи ваших файлов с разделителями табуляции . Для этой работы я использую библиотеку Apache Commons CSV . Он работает с различными форматами CSV , а также с разделителями табуляции. Переполнение стека поиска для примеров, таких как тот, который я опубликовал вчера. В этом примере кода измените CSVFormat.RFC4180 на CSVFormat.TDF для формата с разделителями табуляции.

21
задан Kappers 17 April 2009 в 16:30
поделиться

4 ответа

С учетом приведенных требований нет, вы не можете использовать document.write, не потеряв документ , Если вы действительно не хотите менять код, вы можете переопределить функциональность document.write (), например, так, чтобы позже получить результат:

var phbRequirement = "";

$(function() {
  document.write = function(evil) {
    phbRequirement += evil;
  }
  document.write("Haha, you can't change my code!");
  $('body').append(phbRequirement);

});

Убедитесь, что вы перезаписали функцию document.write перед ее использованием. Вы можете сделать это в любое время.

Другие ответы скучны, это весело, но в значительной степени делает это неправильно ради выполнения данных требований.

41
ответ дан 29 November 2019 в 06:54
поделиться

У Пикардо есть подход, который я бы использовал. Чтобы расширить концепцию, прочитайте:

$('<script/>')
   .attr('src', 'http://myurl.com/page.aspx?id=1')
   .appendTo('body');

Альтернативный стиль:

var imgnode = $('<img alt="Second image for id 1"/>')
   .attr('src', "image1.jpg");

$('#id1').append(imgnode);

Обязательно используйте метод attr для установки любых динамических атрибутов. Не нужно экранировать специальные символы таким образом.

Кроме того, я не уверен, какова эффективность динамической генерации тегов скрипта; Я никогда не пробовал это. Однако ожидается, что они содержат или ссылаются на сценарий на стороне клиента. Я предполагаю, что вернется page.aspx . Ваш вопрос немного расплывчат в отношении того, что вы пытаетесь сделать там.

6
ответ дан 29 November 2019 в 06:54
поделиться

В jQuery есть готовый заменитель document.write. Все, что вам нужно использовать, это метод добавления.

   jQuery('<img src=""/>').appendTo('body');

Это довольно очевидно. Но вкратце, вы можете заменить любой HTML, который вы хотите. И имя тега в методе appendTo - это имя тега, к которому вы хотите добавить свой HTML. Вот и все.

3
ответ дан 29 November 2019 в 06:54
поделиться

ответ Пикардо работает, но для меня это более интуитивно понятно:

$("body").append('<img src=\"/image/1.jpg\" alt=\"Second image for id 1\">');

Кроме того, для части скрипта, которая вставляется с document.write (), ознакомьтесь с Функция getScript () jQuery

3
ответ дан 29 November 2019 в 06:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: