Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   select .text() с числами в Chrome возвращает null (https://javascript.ru/forum/jquery/21739-select-text-s-chislami-v-chrome-vozvrashhaet-null.html)

m3hc 22.09.2011 11:56

select .text() с числами в Chrome возвращает null
 
Есть таблица такого вида:
<tr>
    <td>Test</td>
    <td>
        <a href="#" class="link-button-a">
            <div class="link-button-div link-button-ok">
                <div class="link-button-sprite sprite-user button-indent"></div>
                <div class="button-text">Romashka</div>
            </div>
        </a>
    </td>
    <td>136.35</td>
    <td>136.35</td>
    <td>
        <a href="#" class="link-button-a">
            <div class="link-button-div link-button-ok">
                <div class="link-button-sprite "></div>
                <div class="button-text">0.00</div>
            </div>
        </a>
    </td>
    <td>2011-09-16 15:56:52</td>
    <td>
        <a href="#" class="link-button-a">
            <div class="link-button-div link-button-ok">
                <div class="link-button-sprite sprite-magnifier button-indent"></div>
                <div class="button-text">View</div>
            </div>
        </a>
    </td>
</tr>

Грубо говоря в ней есть данные которые просто представлены текстом, а есть которые прописаны в неком подобии кнопки (Romashka,0.00,View).
Сложность ситуации в том, что выемка данных из ячейки происходить на ура:
$("td:nth-child("+clickedIndex+")").html();

А вот выборка из этой псевдо кнопки, ломается в Хроме:
$("td:nth-child("+clickedIndex+") .button-text").html();

.html() возвращает null,
$("td:nth-child("+clickedIndex+") .button-text").text();

.text() возвращает просто пустой string.

А вот теперь самое интересное, если clickedIndex = 2, то из псевдо кнопки благополучно возвращается значение "Romashka",
если clickedIndex = 5, возвращается либо null либо пустой string.

В чём Chrome такой особенный? И как решить такую проблемму?

tktl 25.09.2011 19:34

во-первых задача не совсем ясна. вам нужно содержимое конкретного div, в конкретной ячейке таблицы?
во-вторых -что за разметка? в ссылке - divы....
в-третьих. td:nth-child("+clickedIndex+") выберет КАЖДЫЙ clickedIndex элемент в td. т.е. набор элементов. возможно необходимо использовать :eq()
в любом случае хром здесь не причем
))))

m3hc 25.09.2011 22:30

Мне нужно значение текста конкретного дива, в "N-ной" ячейке.
Так же, как в ссылке бывают <IMG> так тут <div>, или у вас есть другой способ создания безразмерной кнопки-ссылки со спрайтом внутри?

Как я понимаю селектор должен выбирать каждый clickedIndex элемент в <TD> а уж потом в нём брать элемент с классом button-text (именно это и нужно)

Если хром не причём так где ошибка?

tktl 25.09.2011 22:59

что такое clickedIndex? откуда он берется? может просто повесить обработчик событий, если он clicked.

m3hc 26.09.2011 16:36

Это обычная переменная, в которую закидывается index() элемента по onClick.
То есть, по какой кнопке поиска в первой строке долбанули, по тем столбцам и идёт поиск \ сортировка \ black jack \ hookers


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