javascript - 单击按钮隐藏 5 个段落中的第 3 段,而不为这些段落分配任何类或 ID

标签 javascript c# jquery html css

我的前端有五个段落如下:

<form id="form1" runat="server">
    <div id="div">
        <p>para1</p>
        <p>para2</p>
        <p>para3</p>
        <p>para4</p>
        <p>para5</p>
        <asp:Button id="button" runat="server" Text="Click to hide para3!" />     
    </div>
</form>

在 JS 中我写了以下内容:

 $("#button").click(function () {
    $('#div').find('p').hide();
    return false;
});

我知道当我点击 button 时它会隐藏所有 p 标签,所以如果有人能告诉我如何隐藏就更好了仅第三段。

最佳答案

您可以通过使用 eq() 方法来指定要通过其索引检索匹配集中的哪个元素来实现此目的。由于索引是从零开始的,因此要获取第三个元素将是 eq(2)

另请注意,您应该挂接到 form 元素的 submit 事件,而不是按钮的 click 事件。首先因为这是更好的做法,其次因为您使用的是 ASP.Net 网络表单,这意味着 id 属性将被覆盖在任何 runat="server" 上服务器生成 HTML 时的元素(除非您指定了一个设置,但此处并不特别相关)。

试试这个:

<form id="form1" runat="server">
    <div id="div">
        <p>para1</p>
        <p>para2</p>
        <p>para3</p>
        <p>para4</p>
        <p>para5</p>
        <asp:Button id="button" runat="server" Text="Click to hide para3!" />     
    </div>
</form>
$("form").submit(function(e) {
    e.preventDefault();
    $('#div').find('p:eq(2)').hide();
});

Working example

关于javascript - 单击按钮隐藏 5 个段落中的第 3 段,而不为这些段落分配任何类或 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37651527/

相关文章:

javascript - 如何使 1 个 html id 等于另一个 HTML id?

javascript - Rails - 级联选择表单不相互更新并显示所有结果

c# - 选择年龄最接近数字的最高年龄

javascript - 在另一个列表中均匀插入列表

jquery - Selectize.js创建: validate CREATE input

javascript - 使用表行值构建关联数组

javascript - 将一个值分解为两个幂的结果

javascript - 如何在 child 的 mousedown 事件被触发时停止 parent 的点击事件

c# - 在网络场场景中工作时,我可以使用什么作为通用 session ID?

c# - WPF 绑定(bind) : Static resource cannot be resolved