-2

我想获取 div 的 css 显示属性值。我正在使用此代码

function addcommentdiv() {
    $('.comment-body').click(function () {
        var $this = $(this), $reply = $this.next('cevapla');
        var cevapladisplay = $reply.css('display');
        alert(cevapladisplay);
    });
};

但是此代码返回“未定义”。如何获取 $reply 对象的显示属性?

CSS 代码

<li class="comment">

  <div class="comment-body" id="comment-body">
    <div class="comment-author vcard">
      <div class="lightbox-photo">
        <a class="image-overlay" href='<%# "Foto/profil/foto_buyuk/" + Eval("Yorum_Profil_Foto_Buyuk") %>' data-rel="prettyPhoto" title='<%# Eval("Yorum_UserName")%>'><img src='<%# "Foto/profil/foto_kucuk/" + Eval("Yorum_Profil_Foto_Kucuk") %>' alt='<%# Eval("Yorum_UserName")%>' class="avatar" /></a>
      </div>
      <cite class="fn"><asp:HyperLink ID="linkProfil" runat="server" Text='<%# Eval("Yorum_UserName")%>' NavigateUrl='<%# "~/profil.aspx?user_id="+Eval("User_ID") %>'></asp:HyperLink></cite>
      <cite class="fn-time"></cite> 
    </div>
    <p><%# Eval("Yorum_Text")%></p>
  </div>

  <!-- MORE CODE HERE -->      

  <div class="cevapla" id="cevapla" >
   <asp:TextBox ID="txtCevapla" runat="server"    CssClass="cevaplatextbox" ></asp:TextBox>
   <asp:Button ID="btnCevapla" runat="server" Text="Button" />
  </div>

</li>
4

3 回答 3

2

jQuery 的next方法接受一个选择器作为参数。http://api.jquery.com/next/

作为原始帖子的后续,这里是固定代码:

function addcommentdiv() {
    $('.comment-body').click(function () {
        var $this = $(this), $reply = $this.next('.cevapla');
        var cevapladisplay = $reply.css('display');
        alert(cevapladisplay);
    });
}

我删除了;最后一个花括号,因为这是一个函数声明。

在评论中,提问者还提到这cevapla也是元素的 ID。$reply = $('#cevapla')在这种情况下,将分配重写为假设 ID 是唯一的会更有意义。

于 2013-05-01T18:37:50.410 回答
1

您必须使用选择器:

var $this = $(this), $reply = $this.next('.cevapla');

我不知道cevapla是什么,是一个类吗?您可以通过执行以下操作来确定 jQuery 是否选择了一个元素:

console.log($this.next(".cevapla").length);
于 2013-05-01T18:37:24.410 回答
0

我将“.next”更改为“.find”。它正在工作(比 .next 慢一点)

function addcommentdiv() {
$('.comment-body').click(function () {
    var $this = $(this), $reply = $this.find('.cevapla');
    var cevapladisplay = $reply.css('display');
    alert(cevapladisplay);
});

}

addcommentdiv();

于 2013-05-01T19:58:31.083 回答