создавать HTML-элементы, используя jquery - PullRequest
3 голосов
/ 15 июня 2011

как я могу создать что-то вроде ниже div, используя jquery?желательно использовать что-то похожее на $(document.createElement('div')); или что-то более быстрое, кроме $("<div spry:region="myDs">{hostname}</div>");

<div spry:region="myDs">
    {hostname}
</div>

Отредактировано

Как поместить этот код в другой файл JS и использовать егоcoz "<%= request.getParameter(\"filepath\") %>" создает проблему

var cpath="<%= request.getParameter(\"filepath\") %>";
var myDs = new Spry.Data.XMLDataSet(cpath, "csmclient/system");     
$(document).ready(function(){
    $('<div>')                      // Creates the element
    .attr('spry:region','myDs') // Sets the attribute spry:region="myDs"
    .html('{hostname}')         // Sets the inner HTML to {hostname}
    .appendTo('body');
});

Ответы [ 4 ]

11 голосов
/ 15 июня 2011

Я удивлен, что никто еще не полностью использовал возможности цепочки jQuery:

$('<div>')                      // Creates the element
    .attr('spry:region','myDs') // Sets the attribute spry:region="myDs"
    .html('{hostname}')         // Sets the inner HTML to {hostname}
    .appendTo('body')           // Append the newly created element to body

Вот пример jFiddle , который показывает его в действии.

ОБНОВЛЕНИЕ в ответ на ваши изменения
Вы не сможете использовать объект Request во внешнем файле JavaScript таким образом, поскольку внешний файл сценария выбирается браузером в отдельном запросе.,Вы можете легко решить эту проблему, написав скрипт обработчика ASP.NET, который возвращает ваш файл javascript, выполнив следующие действия:

  1. Создайте новый обработчик в проекте ASP.NET.Назовите это что-нибудь разумное, например yourscriptname.js.ashx.
  2. Скопируйте весь свой код JavaScript в нужное место в обработчике (вам, вероятно, нужен вызов Response.Write() или что-то ...
  3. Изменитеsrc тег вашего элемента <script> от somefile.js до somefile.js.asp?filepath=your/file.path.

Таким образом, когда запрос на javascript отправляется браузером, объект запроса имеет значение для"filepath" и все будет работать снова. Конечно, вы захотите изменить your/file.path на что-то более релевантное, когда вы сначала его визуализируете, чтобы получить значение параметров запроса на странице.

3 голосов
/ 15 июня 2011

Чтобы создать элементы в jQuery и добавить их:

jQuery('<div/>', {
    "spry:region": "myDS",
    text: '{hostname}'
}).appendTo('body');

смотрите здесь для полной справки

2 голосов
/ 15 июня 2011

Прежде всего, document.createElement('div') - это javascript, а не jQuery. Если вы не хотите использовать jQuery:

var main = document.getElementById('main');//where you want the div to be added
var div = document.createElement('div');
div.setAttribute("spry:region","myDs");
div.innerHTML = "{hostname}";
main.appendChild(div);

Но jQuery облегчает работу с DOM, поэтому вы можете использовать один из приведенных выше ответов :).

1 голос
/ 15 июня 2011

$ ("html tags"). AppendTo ("где вы хотите добавить")

$('<div spry:region="myDs">{hostname}</div>').appendTo("body")
$('<div spry:region="myDs">{hostname}</div>').appendTo("#content")

или

var div = $(document.createElement('div'));
div.html("{hostname}").attr('spry:region=', "myDs").appendTo("body")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...