Javascript 选择next中的文本并将其附加到div中
嗨,伙计们,我正试图找到下一个靠近这个的,并将其文本输出到同一页面中的另一个div中。问题是,当我进行编码并将其输出给用户时,它会显示为空白。下面是我的代码:Javascript 选择next中的文本并将其附加到div中,javascript,jquery,html,css,Javascript,Jquery,Html,Css,嗨,伙计们,我正试图找到下一个靠近这个的,并将其文本输出到同一页面中的另一个div中。问题是,当我进行编码并将其输出给用户时,它会显示为空白。下面是我的代码: $(document).ready(function(){ $('a.lightbox').click(function(e){ var txt = $(this).closest("#hh-name").text() alert(txt); $('body').css('overf
$(document).ready(function(){
$('a.lightbox').click(function(e){
var txt = $(this).closest("#hh-name").text()
alert(txt);
$('body').css('overflow-y',' hidden');
$('<div id="overlay"></div>')
.css('top', $(document).scrollTop())
.css('opacity', '0')
.animate({'opacity': '0.7'}, 'slow')
.appendTo('body');
$('<div id= "lightbox"></div>')
.hide()
.appendTo('body');
$('<img>', {
src: $(this).attr('href'),
load: function() {
positionLightboxImage();
},
click : function() {
removeLightbox();
}
}).appendTo('#lightbox');
return false;
});
});
function positionLightboxImage() {
var top = ($(window).height() - $('#lightbox').height()) / 2;
var left = ($(window).width() - $('#lightbox').width()) / 2;
$('#lightbox')
.css({
'top': top + $(document).scrollTop(),
'left': left,
'border': '7px solid white',
'border-radius': '4px'
})
.fadeIn();
}
function removeLightbox() {
$('#overlay, #lightbox')
.fadeOut('slow', function() {
$(this).remove();
$('body').css('overflow-y', 'auto'); // show scrollbars!
});
}
<a class="lightbox" href="<?php echo $row_searchHH['imageURL']; ?>"><img id="hh-image" src="<?php echo $row_searchHH['imageURL']; ?>" width="90" height="90" style="margin-left:10px" /></a></div></td>
<td style="word-wrap:break-word; font-size:20px; font-family:'Myriad Pro'; font-weight:500" width="334" height="35"><p id="hh-name"><?php echo $row_searchHH['name']; ?></p>
提前感谢您没有选择body元素,因为您的代码当前正在编写 尝试: 您可以看到尝试以下操作: 使用最近的选择器不会为您返回任何内容,也不会查找兄弟姐妹。 我留下了调试警报,以便您将来知道如何检查此类内容
$('a.lightbox').click(
function (e)
{
var $closest = $(this).next("#hh-name");
alert($closest.length);
var txt = $closest.text();
alert(txt);
$('<div id= "lightbox"></div>').appendTo('body');
$('<p>' + txt + '</p>').appendTo('#lightbox');
}
) 此代码的目的是什么??我在选择选择器旁边的文本时遇到了很多问题。如果你看一下我的代码,它将是第3行和第4行,那么你创建了一个带有'lightbox'id的dive元素,并将其附加到body元素我没有问题将它提供的任何内容附加到lightbox div,但是问题是如何从旁边的中提取文本没有html结构很难判断,但是请尝试使用.findHey Javier下面是您的答案,这将有助于帮助您为什么不创建一个JSFIDLE来说明问题并删除所有多余的代码?此外,id和CSS类使用相同的名称lightbox肯定会引起混淆。这里有一个@Steve Wellens,我试图做的是,当我单击与类lightbox的链接时,会使用id lightbox创建一个div,并且a.lightbox旁边的标记中的文本会附加到lightbox中,但仍然不起作用。。。。第一个警报显示0,第二个警报未定义。我在下面添加了我的html/php代码。基本上,我拥有的是一个php重复区域,根据搜索结果,图像和名称将不起作用……在
中,有一个php语句从mysql表返回一个文本字段。我不知道这是否有什么不同。JSFIDLE有效吗?服务器上运行什么并不重要。重要的是客户端的HTML和JavaScript。
$('a.lightbox').click(function(e){
var txt = $(this).siblings("#hh-name").text();
$('<div id= "lightbox"></div>').appendTo('body');
$('<p/>').text(txt).appendTo('#lightbox');
});
$('a.lightbox').click(
function (e)
{
var $closest = $(this).next("#hh-name");
alert($closest.length);
var txt = $closest.text();
alert(txt);
$('<div id= "lightbox"></div>').appendTo('body');
$('<p>' + txt + '</p>').appendTo('#lightbox');
}