Как получить значение пользовательского тега с помощью 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/

Другие вопросы по тегам