добавить без селектора - PullRequest
0 голосов
/ 07 мая 2010

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

так что в html у меня есть произвольный элемент, и внутри я вызываю функцию, которая будет добавлять содержимое в строку

так HTML выглядит так

  <!-- stuff before -->
    <fieldset>
        <script type="text/javascript">
                $(document).ready(function(){
                    get_content();
                });
        </script>
    </fieldset>
  <!-- stuff after -->

затем в загружаемом js-файле у меня есть функция get_content (), как эта

  function get_content(){
        $.append('<div id="some_id"></div>');
  }

В настоящее время я получаю сообщение о том, что append не является функцией

Ответы [ 3 ]

0 голосов
/ 07 мая 2010

В старые времена это выполнялось document.write():

  <!-- stuff before -->
    <fieldset>
        <script type="text/javascript">
           document.write(get_content());
        </script>
    </fieldset>
  <!-- stuff after -->

function get_content(){
  return '<div id="some_id"></div>';
}

Но на самом деле document.write не работает так, как работает jQuery.Попробуйте так:

function get_content(){
  return 'your real content';
}
$(document).ready(function(){
    $('#some_id').html(get_content());
});


  <!-- stuff before -->
    <fieldset>
       <div id="some_id"></div>
    </fieldset>
  <!-- stuff after -->
0 голосов
/ 07 мая 2010

JavaScript не будет писать код так, как вы пытаетесь это сделать здесь. JavaScript отделен от контента и работает с целым документом, поэтому размещение JavaScript в вашей разметке там, где вы хотите его разместить, ничего не даст, если вы не используете document.write(...), что считается одной из худших Вы можете использовать в JavaScript.

Вместо этого вы должны сделать это:

Ваша разметка будет выглядеть так:

<!-- stuff before -->
<fieldset id="elementToAppendTo">

</fieldset>
<!-- stuff after -->

Тогда ваш скрипт может выглядеть так (он может пойти куда угодно)

<script type="text/javascript">
$(document).ready(function(){
    get_content();
});
</script>

И затем вы можете использовать функцию get_content() для добавления материала.

function get_content(){
    $("#elementToAppendTo").append('<div id="some_id"></div>');
}
0 голосов
/ 07 мая 2010

Это не очень красиво, но я думаю, вы могли бы сделать это;

function get_content(){
  document.write($('<div><div id="some_id"></div></div>').html());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...