Нужно элегантное решение для выбора элемента dom веб-формы с помощью jquery? - PullRequest
1 голос
/ 18 октября 2011
$("*[id$='blahblah']")

хороший способ, но не идеальный, когда

<asp:Button ID="chk" runat="server" Text="chk" />
<asp:Button ID="unchk" runat="server" Text="unchk" />

Есть ли простой и элегантный способ их точного выбора? (Сложная функция, такая как

if(id.indexOf('$')!=-1){/*blahblah*/}

конечно не просто && элегантно)

Ответы [ 3 ]

1 голос
/ 18 октября 2011

Framework - ваш друг.

Если вы используете ASP.NET 4.0+, вы можете использовать свойство ClientIDMode элемента управления следующим образом.

<asp:Button ID="chk" runat="server" Text="chk" ClientIDMode="Static"/>
<asp:Button ID="unchk" runat="server" Text="unchk" ClientIDMode="Static"/>

Если установлен режим Static, идентификатор элемента управления не изменится, несмотря ни на что.(т.е. в мастер-странице и все).Теперь вы можете изящно назвать его как.

var b1 = $('#chk');
var b2 = $('#unchk');

Другой способ, который выглядит элегантно для меня, это дать кнопку CssClass и затем использовать селектор для класса.т.е. .classname

0 голосов
/ 18 октября 2011

Вы можете использовать <% =%> в своей разметке, чтобы получить идентификатор элемента управления, если вы не используете ASP.NET 4+

<asp:Button ID="example" Text="I should be hidden" runat="server" />
<script type="text/javascript">
    $(function() {
        $('#<%= example.ClientID %>').hide();
    });
</script>
0 голосов
/ 18 октября 2011

Не совсем уверен, что вы спрашиваете здесь, но взгляните на jQuery ('# id') .

Таким образом, вы можете иметь:

var ckeck = $('#chk');
var unckeck = $('#unchk');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...