2015-07-07 2 views
0

У меня есть несколько div внутри моего HTML, в основном я определил несколько вкладок внутри своего HTML. Я использую тег сценария внутри одной из вкладок для отображения некоторых данных. Но он оставляет этот конкретный div и выходит из div и постоянно отображается после всех вкладок.Как определить отдельный тег сценария div?

<div class="tabs-pane active-pane" id="actors" role="tabpanel" aria-hidden="false" style="text-align:center;"> 
    <div class="aui-page-panel-inner"> 
    <div class="aui-page-panel-nav"> 
     <script> 
     display_data_new(); 
     myfunction(); 
     </script> 
    </div> 
    </div> 
</div> 
+3

#ShowUsYourJSCode –

+0

Если вы создаете document.write(), это ваша проблема. Если нет, я не знаю, что вы делаете, я не волшебник. –

+0

Что это ..? –

ответ

0

эй вы можете попробовать ниже code -

<div class="tabs-pane active-pane" id="actors" role="tabpanel" aria-hidden="false" style="text-align:center;"> 
     <div class="aui-page-panel-inner"> 
      <div class="aui-page-panel-nav"> 
      <div id="content"> 
       <script type="text/javascript"> 
        function myFunction() { 
         //do something 
        } 
        myFunction(); 
       </script> 
      </div> 
      </div> 
     </div> 
    </div> 
1

Независимо сценарий написан внутри тега выполняется немедленно. Поэтому, конечно, он отображается всегда, независимо от текущей вкладки.

Если вам действительно нужно иметь в себе тег, тогда вы должны добавить в него какое-то условие.

что-то вроде этого

<script> 
    if (currentTabId == 'DivWithScript') { 
    display_data_new(); 
    myfunction(); 
    } 
</script> 
+0

Я пробовал с этим, но он все тот же. – user2900150

+0

@ user2900150 'if ('#actors')' оценивает строку, которая имеет «правдивое» значение. Значение Truthy равно true. Другими словами: ваше состояние всегда верно. Вам нужно сохранить идентификатор текущей отображаемой div/tab, а затем проверить, равен ли этот идентификатор «актерам» –

2

Я буду считать, что данные, которые вы имеете в этих функциях отформатирован в html - есть многочисленные учебники в Интернете об этом.

Попробуйте это:

(function() { 

    var loadData = function(){ 
     var contentDiv = document.getElementById('content'); 
     contentDiv.appendChild(display_data_new()) ; 
     contentDiv.appendChild(myFunction()); 
    } 

    window.onload = loadData(); 
    })(); 

Это будет выполняться, когда окно завершения загрузки. Функция захватывает элемент DOM content и добавит код из ваших функций display_data_new() и myFunction().

я предлагаю читать о DOM:

https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction

Это фундаментальное, чтобы понять это для того, чтобы использовать JavaScript манипулировать HTML.

+0

Большое спасибо за указание на правильную концепцию. – user2900150

Смежные вопросы