Печать содержимого раздела - PullRequest
0 голосов
/ 03 апреля 2010

Содержимое следующего div получается динамически: то есть таблица динамически добавляется в этот div с помощью некоторой кнопки.

Мой вопрос заключается в том, как распечатать содержимое этого div (window.print), а не другие элементы на странице

<div id="newdiv" name="newdiv"></div>

Спасибо.

Ответы [ 3 ]

7 голосов
/ 03 апреля 2010

Две идеи:

  • Введите таблицу стилей для печати

     <link rel="stylesheet" href="print.css" type="text/css" media="print"  />
    

    , который даст каждому элементу display: none, кроме newdiv:

     * { display: none } /* This should hide all elements */
     div#newdiv { display: block } /* This should make newdiv visible again */
    

    Я не могу проверить это сейчас, но не понимаю, почему это не сработает.

  • Скопируйте содержимое div во вновь созданный элемент iframe с использованием JavaScript и распечатайте его.

    Тем не менее, на дороге много препятствий. Сначала я попробую использовать CSS.

4 голосов
/ 04 апреля 2010

Умное мышление Pekka, но оно работает не совсем так, после использования глобального отображения: ни один вам не придется повторно отображать каждый элемент, который должен отображаться, включая все родительские элементы. Лучшим способом было бы скрыть все элементы, которые не следует печатать, хорошая новость заключается в том, что вам нужно только скрыть родительский элемент, и все в нем будет скрыто.

Между прочим, нет необходимости в дополнительной таблице стилей, можно использовать блок в существующей таблице (он должен быть помещен в конце последнего листа):

@media print{
    .noprint{
        display:none;
    }
}

Теперь блок можно скрыть от печати, просто присвоив контейнеру класс noprint.

0 голосов
/ 03 апреля 2010

Лучше всего создать таблицу стилей для конкретного носителя.

http://www.alistapart.com/articles/goingtoprint/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...