我基本上构建了一个选择性元素的视觉吸引力版本。
我正在创建一个ul,它将.selected类应用于所点击的任何项目。
<ul id="videolist" class="tilelist">
<li id="video-'. $video-id .'">
<img src="assetsPath/etc/'. $video-thumb .'" />
<h4>'. $video-title .'</h4>
<p class="hidden vid-id">'. $video-id .'</p>
</li>
';} ?>
</ul>
<input id="videoId" class="hidden" value="<?php echo $current->video ?>" />
然后是一些jquery:
$(function(){
$('#videolist li').click( function() {
$('#videolist li').removeClass('selected');
$(this).addClass('selected');
var vidId = $(this).find('.vid-id').val();
alert (vidId);
$('#videoId').val( vidId );
});
});
问题是$(this).find('.vid-id').val();
似乎没有返回任何内容。我没有看到选择器有什么问题,但我对jquery有点新鲜。
答案 0 :(得分:2)
如果您想从text()
标记中提取,那么您要找的是val()
而不是p
。
如果你想从input
中取出它,你必须选择这样的ID:$(this).find('#videoId').val();
此外,您无需添加css属性来隐藏输入,您可以type="hidden"