Javascript 选择parent()会在本应为同一链接的内容中发生变化<;a>;
这就是我的问题: 我想选择类为“read_more hidden”的div。在第一个链接中,它选择了它,但在第二个链接中它没有。它表示未定义。有人能解释一下发生了什么吗 (我试图在来自数据库的大文本上创建“阅读更多…”链接) PHPJavascript 选择parent()会在本应为同一链接的内容中发生变化<;a>;,javascript,php,jquery,html,Javascript,Php,Jquery,Html,这就是我的问题: 我想选择类为“read_more hidden”的div。在第一个链接中,它选择了它,但在第二个链接中它没有。它表示未定义。有人能解释一下发生了什么吗 (我试图在来自数据库的大文本上创建“阅读更多…”链接) PHP while($row=mysql_fetch_assoc($result)) { $str==NULL; $offset==NULL; $max_length==NULL; $str=$row['subject']; $max
while($row=mysql_fetch_assoc($result))
{
$str==NULL;
$offset==NULL;
$max_length==NULL;
$str=$row['subject'];
$max_length = 3500;
if (strlen($str) > $max_length)
{
$offset = ($max_length - 3) - strlen($str);
$str = substr($str, 0, strrpos($str, ' ', $offset)) . '<br></br><a class="clicky" href="">read more...</a>';
}
echo'<div class="GTextBorder" >
<center>
<h3>
<em>';
if ($row['title']==NULL)
{
echo 'No title';
}
else
{
echo ''.$row['title'].'';
}
echo '</em></h3></center><br></br>
<div class="read_more hidden" >'.$row['subject'].'
<a class="clickya" href=""><i>less...</i></a>
</div>
<div class="item" >'.$str.'</div>
<br></br>';
echo '</div>';
echo '<br></br>';
}
一些解释:
我首先取$row['subject'],这是一个长文本,我检查它是否超过3500个字符。如果超过3500个字符,那么我就把它放在readmore上。。我的第一个想法是制作两个单独的div(一个隐藏),一个普通的div,以便在阅读更多内容时。。单击时,两个div将更改。因此,将显示read_more div,并隐藏“.item”div。但由于某些原因,当第三个长文本打印为read more时。。link it无法选择整个GTextBorder div。我不知道为什么。这个
read\u more
div是.parent().prev()
,而不是.parent().parent().prev()
。数据库包含3个文本。第一个和第三个字符超过3500个,当我按下第一个链接时,页面会发出“read\u more hidden”警报,第二个链接发出警报“未定义”我根本看不出它是如何工作的。这是a.clicky
,.parent()
是div.item
,而parent().parent()
是div.GTextBorder
。那么.prev()
从那里开始阅读更多内容
?我一点都不知道…我只是在说结果是什么…查看DOM检查器,确保所有嵌套都是它应该的样子。阅读更多内容
DIV是.parent().prev()
,而不是.parent().parent().prev())
。数据库包含3个文本。第一个和第三个超过3500个字符,当我按下第一个链接时,页面会提示“read\u more hidden”,第二个链接提示“undefined”,我根本看不出它是如何工作的。这是a.clicky
,.parent()
是div.item
,和parent().parent()
是div.GTextBorder
。那么如何才能.prev()
从那里阅读更多的内容呢?我一点也不知道……我只是在说结果是什么……查看DOM检查器,确保所有嵌套都是应该的方式。
$('.clicky').click(function(e){
e.preventDefault();
var id=$(this).parent().parent().prev().attr("class");
window.alert(id);
});