我想得到一个div的css显示属性值。 我正在使用此代码
function addcommentdiv() {
$('.comment-body').click(function () {
var $this = $(this), $reply = $this.next('cevapla');
var cevapladisplay = $reply.css('display');
alert(cevapladisplay);
});
};
但是此代码返回“undefined”。如何获取$ 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>
答案 0 :(得分: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。在这种情况下,假设ID是唯一的,将赋值重写为$reply = $('#cevapla')
会更有意义。
答案 1 :(得分:1)
您必须使用选择器:
var $this = $(this), $reply = $this.next('.cevapla');
我不知道cevapla是什么,它是一类吗?您可以通过执行以下操作找出jQuery是否已选择元素:
console.log($this.next(".cevapla").length);
答案 2 :(得分: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();