Javascript получить значение строки в теге - PullRequest
0 голосов
/ 03 декабря 2010

У меня есть вопрос о том, как прочитать строку между тегами, например.

Devices connecting to HOME <a onclick="kmt_Toggle('BOX01', this)" class="cs_answer_link" value="[Show me how to download and install my map..]">[Show me how to download and install my map..]</a><br />
<br />
<div class="cs_answer_secondAccordion" id="BOX01" style="display: none;">
Steps for downloading and installing a map...
</div>

Мой код простой, когда пользователи нажимают на тег, класс div будет показываться и изменяться. Покажите мне, как загрузить и установить строку карты в теге для закрытия.Когда пользователь нажимает снова, текущее «закрыть» станет «оригинальным длинным текстом».Моя главная проблема заключается в том, как я могу прочитать строку между тегами, спасибо.Я не могу использовать JQuery

  function kmt_Toggle(obj, aTag) {
  var el = document.getElementById(obj);
  if ( el.style.display != 'none' ) {
      el.style.display = 'none';
      //var tagString=document.ge(aTag).valueOf();

     // aTag.innerHTML='[more..]';
    aTag.innerHTML= tagString;
  }
  else {
      el.style.display = '';
      aTag.innerHTML='[close..]';
  }
     }

Привет, ребята, спасибо.

Думаю, я не разъяснил свой вопрос.Я хочу создать функцию переключения в этом Javascript, если люди нажимают на тег, например,

<a onclick="kmt_Toggle('BOX01', this)" class="cs_answer_link" value="[Show me how to download and install my map..]">[Show me how to download and install my map..]</a>

Он покажет мой div, если у моего div есть style = none;и измените Покажите мне, как загрузить и установить карту в «закрыть»

Шаги для загрузки и установки карты ...

Если люди снова нажмут на ссылку, она вернется к «Покажите мне, как загрузить».и установить карту "и спрятать мой div.

Я пытался что-то построить, следуя идеалу машинного решения.Это не работает.

Приветствия, Цин

Ответы [ 5 ]

2 голосов
/ 03 декабря 2010

Вы можете использовать:

getElementsByTagName("tagName")[0].firstChild.nodeValue;

или

getElementsById("id")[0].firstChild.nodeValue;
1 голос
/ 03 декабря 2010

Прежде всего, атрибут value элемента a официально не стандартизирован W3C. Вам это не нужно.

Тем не менее, некоторые строки кода, которые могут работать:

// innerHTML way
aTag.originalInnerHTML = atag.innerHTML; // to save the innerHTML
aTag.innerHTML = '[close..]';            // to add new link text
aTag.innerHTML = aTag.originalInnerHTML; // to restore the innerHTML


// W3C DOM way
// Save
var cur = aTag.firstChild;
aTag.oldChildNodes = [];
while(cur) {
    aTag.oldChildNodes.push(cur);
    cur = cur.nextSibling;
}

// Add new link text
while(aTag.lastChild) aTag.removeChild(atag.lastChild);
aTag.appendChild(document.createTextNode('[close..]'));

// Restore
while(aTag.lastChild) aTag.removeChild(atag.lastChild);
for(var i = 0; i < aTag.oldChildNodes.length; ++i) {
    aTag.appendChild(aTag.oldChildNodes[i]);
}

Или вместо этого вы можете сделать любое из них, подобно тому, как вы включаете и выключаете секции аккордеона:

  • Вставьте оба текста ссылки в HTML, затем используйте CSS display: none;, чтобы отключить тот, который вам не нужен.
  • Переключение между всеми элементами a с использованием CSS display: none;.
0 голосов
/ 03 декабря 2010

Я нашел способ.Я меняю свой javascript следующим образом

function kmt_Toggle(obj, aTag) {
        var el = document.getElementById(obj);
        //Save original Store at the firs time.
        if(!aTag.originalInnerHTML)
         {
            aTag.originalInnerHTML=aTag.innerHTML;
         }

        if (el.style.display != 'none' ) {
            el.style.display = 'none';
            aTag.innerHTML=  aTag.originalInnerHTML;
        }
        else if( el.style.display =='none'){
            el.style.display = '';
            aTag.innerHTML='[close..]';
        }

        }"

// Сначала я сохраняю текстовую строку aTag в переменные

0 голосов
/ 03 декабря 2010

Может быть:

return document.getElementById(<your div name>).innerHtml;
0 голосов
/ 03 декабря 2010

вы можете использовать

documentElement. getElementsByTagName( "div" )

, который вы определите после того, как вам нужен первый элемент или второй и т. Д.

, например,

documentElement. getElementsByTagName( "div" ).item(0).innerHtml;

даст вамinnehtml первого вхождения div

или если у вас есть идентификатор

documentElement. getElementsById('idname')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...