Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Я использовал бы Прототип update
метод, который поддерживает простой текст, отрывок HTML или любой объект JavaScript, который определяет toString
метод.
$("field_name").update("New text");
Можно просто использовать:
fieldNameElement.innerHTML = "My new text!";
function showPanel(fieldName) {
var fieldNameElement = document.getElementById("field_name");
while(fieldNameElement.childNodes.length >= 1) {
fieldNameElement.removeChild(fieldNameElement.firstChild);
}
fieldNameElement.appendChild(fieldNameElement.ownerDocument.createTextNode(fieldName));
}
преимущества выполнения его этот путь:
, Если бы я собирался пользоваться библиотекой JavaScript, я использовал бы jQuery и сделал бы это:
$("div#field_name").text(fieldName);
Примечание, что @AnthonyWJones' комментарий корректен: "field_name" не является особенно описательным идентификатором или именем переменной.
$('field_name').innerHTML = 'Your text.';
Одна из изящных функций Прототипа - то, что $('field_name')
делает то же самое как document.getElementById('field_name')
. Используйте его!:-)
ответ John Topley с помощью Прототипа update
функция является другим хорошим решением.
Быстрый ответ должен использовать innerHTML (или метод обновления прототипа который в значительной степени то же самое). Проблема с innerHTML - Вы, должен выйти из присваиваемого содержания. В зависимости от Ваших целей необходимо будет сделать это с другим кодом, ИЛИ
в IE:-
document.getElementById("field_name").innerText = newText;
в FF:-
document.getElementById("field_name").textContent = newText;
(На самом деле FF имеют следующий подарок в кодом)
HTMLElement.prototype.__defineGetter__("innerText", function () { return this.textContent; })
HTMLElement.prototype.__defineSetter__("innerText", function (inputText) { this.textContent = inputText; })
Теперь, я могу просто использовать innerText, если Вам нужна самая широкая поддержка браузера тогда, это не полное решение, но ни один не использует innerHTML в сырых данных.
Если Вы действительно хотите, чтобы мы только продолжили, где Вы кончили, Вы могли сделать:
if (fieldNameElement)
fieldNameElement.innerHTML = 'some HTML';
Если Вы склонны начать использовать много JavaScript на Вашем сайте, jQuery делает игру с чрезвычайно простым DOM.
http://docs.jquery.com/Manipulation
Делает его столь же простым как: $ (" #field-name") .text ("Некоторый новый текст".);
function showPanel(fieldName) {
var fieldNameElement = document.getElementById(field_name);
fieldNameElement.removeChild(fieldNameElement.firstChild);
var newText = document.createTextNode("New Text");
fieldNameElement.appendChild(newText);
}
Вот простой способ jQuery :
var el = $('#yourid .yourclass');
el.html(el.html().replace(/Old Text/ig, "New Text"));
nodeValue также является стандартным свойством DOM, которое вы можете использовать:
function showPanel(fieldName) {
var fieldNameElement = document.getElementById(field_name);
if(fieldNameElement.firstChild)
fieldNameElement.firstChild.nodeValue = "New Text";
}