jquery:按属性查找第一个元素
我在网页左侧有一个分类列表,右侧有一个项目列表。包含项的列表有一个名为cat的属性,值为数字 单击类别应滚动至具有相同类别ID的第一个项目 有什么建议吗?:) 以下是html:jquery:按属性查找第一个元素,jquery,html,webforms,Jquery,Html,Webforms,我在网页左侧有一个分类列表,右侧有一个项目列表。包含项的列表有一个名为cat的属性,值为数字 单击类别应滚动至具有相同类别ID的第一个项目 有什么建议吗?:) 以下是html: asp:Repeater runat="server" ID="repCategory" OnItemDataBound="CategoryItemRepeater"> <HeaderTemplate> <ul class="menuList
asp:Repeater runat="server" ID="repCategory" OnItemDataBound="CategoryItemRepeater">
<HeaderTemplate>
<ul class="menuListUl">
</HeaderTemplate>
<ItemTemplate>
<li>
<div id="catItem" runat="server"></div>
</li>
</ItemTemplate>
<FooterTemplate></ul></FooterTemplate>
</asp:Repeater>
<div id="menuList">
<asp:Repeater runat="server" ID="repFooditems" OnItemDataBound="MenuItemRepeater">
<ItemTemplate>
<div class="menuItem" id="menuItem" runat="server">
<div runat="server" class="itemNumber" id="ItemId"></div>
<div runat="server" class="itemName" id="itemName"></div>
<div runat="server" class="itemDescription" id="itemDescriptionLbl"></div>
</div>
</ItemTemplate>
</asp:Repeater>
</div>
项目列表:
var menuItem = (HtmlGenericControl)e.Item.FindControl("menuItem");
menuItem.Attributes.Add ("cat","cat"+item.Item.Category.FirstOrDefault().CategoryId);
jquery:
$('.menuListUl li div').bind('click', function ()
{
var catId = $(this).attr('catid'); //The categoryid on the element clicked.
// Now: find the first element with the same cat id
var element = ""; The element found.
$('html, body').animate({
scrollTop: element.offset().top
}, 2000);
});
这将选择“foobar”作为catid的图元。看来这就是你想要的,对吧
$('.menuListUl li div[catid="foobar"]')
太好了:)谢谢!我会尽快接受答案的。这将获得类别列表中的元素,而我需要项目列表中的第一个项目。@sindrem您可以执行$('.menuListUl li div[catid=“foobar”]')[0]或$('.menuListUl li div[catid=“foobar”])。first()
$('.menuListUl li div[catid="foobar"]')