Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   работа с jquery.handsontable.full.js (https://javascript.ru/forum/misc/54445-rabota-s-jquery-handsontable-full-js.html)

demettriss 17.03.2015 17:57

работа с jquery.handsontable.full.js
 
на сайте установлен jquery.handsontable.full.js

вопрос...

как после того, как вся страница собралась, вычислить все tr в которых есть div с классом "closeSubtask" и присвоить tr класс "any"?

пробывал
$(document).ready(function() {
		$( "tr" ).has( ".closeSubtask" ).addClass('any');
	});


присваивает через одного


пример собранной таблицы
Код:

<tr>
        <td class="" style="position:relative;padding:0">
                <div style="position:absolute;width:100%;height:100%;opacity:0;background-color:#ffc600"></div>
                <div class="closeSubtask" style="position:absolute;width:100%;height:100%;opacity:1;background-color:#46a612"></div>
                <div style="position:absolute;width:100%;height:100%;text-align:left;opacity:0.7">
                        <a href="#" class="watchIssue">
                                <img src="/qr/app/assets/images/eye_disabled.png">
                        </a>
                </div>
        </td>
</tr>

<tr>
        <td class="" style="position:relative;padding:0">
                <div style="position:absolute;width:11%;height:100%;opacity:0.78;background-color:#df1b4e"></div>
                <div style="position:absolute;width:11%;height:100%;opacity:0.22;background-color:#ffc600"></div>
                <div style="position:absolute;width:100%;height:100%;text-align:left;opacity:0.7">
                        <a href="#" class="watchIssue">
                                <img src="/qr/app/assets/images/eye_disabled.png">
                        </a>
                </div>
        </td>
</tr>


laimas 17.03.2015 18:39

Ну так в примере вторая строка и не имеет элемента div с таким классом.

demettriss 17.03.2015 18:44

там где закрашено зеленым - class="closeSubtask"

мне надо что бы к tr, в котором есть такой div с классом, добавлялся класс "any"

для примера в классе any стоит border-left: 10px solid #F00;

рони 17.03.2015 18:55

demettriss,
$( ".closeSubtask" ).parents('tr').addClass('any');

demettriss 17.03.2015 19:02

Цитата:

Сообщение от рони
$( ".closeSubtask" ).parents('tr').addClass('any');

только хотел написать что (смотреть цитату) то же самое выводит

laimas 17.03.2015 19:14

Все работает:
<!DOCTYPE HTML> 
<html> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script> 
$(function() {
    $('tr').has('div.check').css({background : '#f00'})
});
</script>     
</head> 

<body>
<table>
    <tr>
        <td><div class="check">aaaaaaaa</div></td>
    </tr>
    <tr>
        <td><div class="check">aaaaaaaa</div></td>
    </tr>
    <tr>
        <td><div class="nocheck">aaaaaaaa</div></td>
    </tr>
    <tr>
        <td><div class="check">aaaaaaaa</div></td>
    </tr>
</table>
</body> 
</html>

рони 17.03.2015 19:22

demettriss,
:)
<!DOCTYPE HTML>
<html>
<head>
 <style type="text/css">

  .any td{
    width: 300px;
     height: 20px;
    background: #FFCC00;
  }

  </style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(function() {
    $( ".closeSubtask" ).parents('tr').addClass('any');
});
</script>
</head>

<body>
<table>
    <tr>
        <td><div class="closeSubtask">aaaaaaaa</div></td>
    </tr>
    <tr>
        <td><div class="closeSubtask">aaaaaaaa</div></td>
    </tr>
    <tr>
        <td><div class="nocheck">aaaaaaaa</div></td>
    </tr>
    <tr>
        <td><div class="closeSubtask">aaaaaaaa</div></td>
    </tr>
</table>
</body>
</html>

demettriss 17.03.2015 19:35

Цитата:

Сообщение от demettriss
на сайте установлен jquery.handsontable.full.js

http://handsontable.com/

с ним данный скрип срабатывает как и на рисунке выше

при этом надо вставлять данный скрипт в конец перед </body>, а не в начале (если вставить в начале (в <head></head>), то болт)

laimas 17.03.2015 19:41

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

demettriss 18.03.2015 12:07

<script type="text/javascript">
	// делаем невидимыми сделанные подзадания
	$(function() {
	    // $('tr').has('div.closeSubtask').css({"border-left": "5px solid #F00"});
	    // $( ".closeSubtask" ).parents('tr').addClass('any');
	    $( ".closeSubtask" ).parents('tr').attr('id', 'any');
	});
</script>


заработало...
появился новый лаг...
подскажите что искать или костыль какой нить...

при прокрутке страницы jquery.handsontable.full.js полностью чистить у <tr> style, id и class...

при этом , когда возвращаемся на верх ставить мои style, id и class в <tr> обратно


Часовой пояс GMT +3, время: 11:55.