Как получить значение пользовательского тега с помощью jQuery
У меня есть пользовательский тег с форматом
<ie:menuitems id="ieMenu">Hello World</ie:menuitems>
Теперь моя задача - изменить текст "Hello World", но я не могу получить значение с помощью jQuery/JavaScript, я могу получить элемент наверняка, потому что $('#ieMenu"). Size() выдает мне 1 в качестве вывода, но чтобы получить значение, я попытался.text(), .contents(), .val(), .html(), но ничего не получилось, пожалуйста, помогите
заранее спасибо
РЕДАКТИРОВАТЬ------------------------------------------------- -
Я думаю, что я должен упомянуть кое-что здесь, приведенный выше пример кода скопирован из исходного кода страницы, я не уверен, поможет ли это вам каким-то образом или нет, я хотел сказать, что это преобразованный HTML, и я выполняю свой код при нажатии кнопки не при загрузке страницы
3 ответа
Удивительно, я не знаю, правильно это или нет, но я проверил и нашел "Hello World" с помощью
$("#ieMenu")[0].nextSibling.nodeValue
и вы можете назначить значение как
$("#ieMenu")[0].nextSibling.nodeValue = "Test"
Вот JSFiddle, который делает то, что вы хотите, и работает для меня в последних Chrome, Firefox и Opera: http://jsfiddle.net/hTJFk/. Код воспроизводится ниже:
HTML
<html>
<ie:menuitems id="ieMenu">Hello World</ie:menuitems>
</html>
JavaScript
$(function() {
$('#ieMenu').text("Goodbye World");
});
Для меня результатом было то, что тег содержал "Goodbye World", как и ожидалось.
Какой браузер вы тестировали? Я подозреваю, что это может быть проблема с браузером, и в этом случае мы можем попытаться обойти это.
Это работает для меня:
$(function(){
var element = document.getElementsByTagName('ie:menuitems')[0];
console.log(element.innerHTML)
element.innerHTML = 'another'
})
скрипка: http://jsfiddle.net/WR8MH/