【问题标题】:jQuery get all divs with specific idjQuery 获取所有具有特定 id 的 div
【发布时间】:2010-12-03 10:13:04
【问题描述】:

我的堆栈溢出,

我正在尝试制作工具提示以显示我的 asp:Repeater 控件中每个项目的描述。问题是我的 jquery 必须遍历所有 div 并制作一个 .tooltip()。我曾尝试在 jQuery 中使用 each() 函数,但没有显示工具提示:-/

我当前的代码:

<script type="text/javascript">
$(document).ready(function () {
    $('.tooltip').each(function (index, domEle) {
        domEle.tooltip();
    });
});
</script>

还有我的中继器:

<asp:Repeater ID="rptListPartners" runat="server">
<HeaderTemplate>
<table border="0" cellpadding="7" cellspacing="0">
</HeaderTemplate>
<ItemTemplate>  
    <tr>
        <td style="font-family:Verdana; font-size:11px; height: 18px; width:400px;">
            <div id="data_tooltip_from_div" style="display:none;"> <%#Eval("profile") %></div>
                 <a id="tooltip_from_div" href="#" class="tooltip"> <%#Eval("name") %>, <%#Eval("address") %>, <%#Eval("zip") %> <%#Eval("city") %> <a href='<%#Eval("homepage") %>' target="_blank"><img src='/kort/www.png' /></a></a>
            </td>
            <td style="font-family:Verdana; font-size:11px; height: 18px;"><%#Eval("phone") %></td>               
    </tr>
</ItemTemplate>
<FooterTemplate>
    </table>
</FooterTemplate> 
</asp:Repeater>

这种方法完全不可行,还是? :-)

任何提示将不胜感激!

提前致谢!

【问题讨论】:

  • “所有具有特定 id 的 div”是什么意思? id 是唯一的,只能有一个。
  • 然后分解你的问题。 “为什么这个 JS 在这个 ASP 上不起作用?”比“为什么这个 JS 不能在这个 HTML 上工作?”是一个更难处理的问题。或“为什么这个 ASP 不输出这个 HTML?”
  • @David - 你的意思是应该是独一无二的。这就是规范,尽管我经常看到这一点被忽略:(
  • 啊,当然是的 :) 不知道我在想什么。我的意思是“对于每个 ”我需要将其作为工具提示()
  • @Oded — 然后浏览器在解析尝试使用 JS 使用其 id 访问元素时中断。 :((如果你想重用一个 id,请先修复它)

标签: asp.net jquery html


【解决方案1】:

在您的.each() 内部domEle 直接引用DOM 元素,而不是具有.tooltip() 插件方法的jQuery 对象......所以它应该看起来像这样:

$(document).ready(function () {
    $('.tooltip').each(function (index, domEle) {
        $(domEle).tooltip();
    });
});

但是……它是一个插件,所以根本不需要循环:

$(document).ready(function () {
    $('.tooltip').tooltip();
});

ID 必须是唯一的...它不会在此处导致错误,但如果重复有效,则将其删除,并避免以后出现其他问题。您已经拥有了在这里选择所需元素的类。


此外,使用当前方法,您应该会在控制台中看到 JavaScript 错误,这将准确地告诉您发生了什么。如果您使用的是没有控制台的浏览器,我建议您使用 Firefox 和 FireBug 来使用它,或者使用 Chrome,它包含开发人员工具。

【讨论】:

  • 嗨尼克,谢谢你的回答! :) 它有效,但问题是所有工具提示都显示第一个 所以看起来我应该做某种循环来将 tooltip() 应用于每个 元素 (?)
  • @bomortensen - 我认为你的完整.tooltip() 电话看起来像content: '#data_tooltip_from_div'?你能发布那个代码吗?
  • 你好,尼克,不——我刚刚查看了 jquery.tooltip 插件,奇怪的是没有内容:“属性”.. 我对这个调用的实际工作方式感到很困惑我必须说
  • 然而,让我感到震惊的是,在我的转发器中,我同时拥有一个 div 和一个 元素,它们都有 id - 所以基本上我为每条记录输出相同的 id。
  • @bomortensen - 我需要查看您正在使用的工具提示插件,以便为您提供有关如何修复的建议...您有链接吗?
猜你喜欢
  • 2020-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-20
  • 1970-01-01
  • 1970-01-01
  • 2013-12-28
  • 2021-07-22
相关资源
最近更新 更多