Эффект jQuery fadeTo, примененный к <tr> - PullRequest
0 голосов
/ 21 августа 2009

Я хочу добавить эффект fadeTo к тегу <tr> с помощью jQuery. Это должно быть возможно, верно? Вот мой код:

if ($) {
    $(document).ready(function() {
        $("tr[id$='_trPendingRequest_Manager']").fadeTo("slow", 0.33);
    });
}

По какой-то причине эффекта не происходит.

Я решил провести дополнительное тестирование и добавил тег абзаца прямо над таблицей, содержащей этот <tr>, и смог успешно применить эффект fadeTo к тегу абзаца. Таким образом, это заставляет меня думать, что нельзя применять эффект fadeTo к тегам <tr>.

У кого-нибудь есть кусочек мудрости, которым они не против поделиться со мной, почему я не могу заставить это работать?

РЕДАКТИРОВАТЬ: Вот HTML <table> с <tr>, к которому я пытаюсь применить эффект.

<table>
  <tr id="trPendingRequest_Manager" runat="server" style="display: none;" valign="middle">
    <td valign="middle">
      <asp:Image id="imgExc" runat="server" ImageUrl="~/Images/Mail_24x24.png" />
    </td>
    <td>&nbsp;</td>
    <td valign="middle">
      <asp:HyperLink ID="hypPendingRequest" runat="server" NavigateUrl="~/MyManagedRequests.aspx" Font-Bold="true" Font-Size="Medium" Font-Underline="false" ForeColor="Black">You have <asp:Label ID="lblRequestsNum" runat="server"></asp:Label>request(s) pending your action
       </asp:HyperLink>
    </td>
  </tr>
  <tr>... Removing the rest for brevity ... </tr>
</table>

Ответы [ 2 ]

0 голосов
/ 21 августа 2009

Работает совершенно нормально. Если это уникальный идентификатор, вам даже не нужно указывать tr или соответствующий селектор, просто это сделает работу:

$(document).ready(){function(){
    $("#_trPendingRequestManager").fadeTo('slow','0.33');
});

EDIT: -

Поскольку я подозревал, что идентификатор прибывает из элемента runat = "server". Вы можете использовать это, чтобы ускорить процесс.

$(document).ready(function(){
    $("#<%=trPendingRequestManager.ClientID %>").fadeTo('slow','0.33');
});

Я думаю, что начало _ заставляло его вести себя забавно. Подробнее об ускорении использования свойства ClientID читайте эту запись от Dave.

Также удалите «дисплей: нет» это виновник !!!

просто поставьте цепочку, чтобы установить непрозрачность на 0, если вы не хотите удалять дисплей: нет

$("#<%=trPendingRequestManager.ClientID %>")
 .css('opacity','0').show() //make transparent and show
 .fadeTo('slow','0.33')

Я нашел это здесь

0 голосов
/ 21 августа 2009

Вообще мой опыт состоит в том, что tr элементами нельзя нормально манипулировать. Например, вы можете добавить цвет фона к элементам tr (скажем, для чередования зебр), но если вы хотите провести линию между каждой строкой tr, то вам нужно добавить границу css к элементам td под ней, иначе похоже, имеет какой-либо эффект.

Я предполагаю, что это нечто подобное. Возможно, вам придется попробовать выполнить fadeTo для каждого дочернего элемента td рассматриваемого элемента tr ... не знаю, признаюсь, я ничего не тестировал.

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