[英]How to extract elements from html using jquery?
我有一个弹出窗口,其中列出了用户拥有的各种播放列表。 点击时,我试图将与视频关联的video_id添加到适当的播放列表中。 我不确定如何实现; 如果用户单击弹出式窗口中的链接,则应提取video_id(来自div #add)和所选的播放列表(有多个播放列表,用户为其生成名称,但仅选择了一个播放列表)。 有什么建议吗?
<script type="text/javascript">
$(document).ready(function() {
$("#muncher").click(function(event){
event.preventDefault();
$.ajax({
type:"POST",
url:"/edit_favorites/",
data: {
'video_add': $('#add').val(), // from form
'playlist_selected': $('#').val() //from form
},
success: function(){
$('#muncher').html("Added");
}
});
return false;
});
});
</script>
<div id = 'muncher'>
<div id = 'add'>12345</div>
<a href = "#" id="munch" rel="popover" data-html="true" data-placement="right" data-content= "<a href= '#'>Favorites</a><br>
<a href = '#' class = 'Funny'>Funny</a><br>
<a href = '#' class = 'test'>test</a><br>
<a href = '#' class = 'test1'>test1</a><br>
" data-original-title="Add to your plate">
Munch
</a>
</div>
您可以尝试使用jquery数据属性将ID存储在A
标签内。
或者相反,您可以尝试获取先前的兄弟姐妹 ,即被单击的A
标签上方的DIV
标签,然后使用.text()获取其值
另外,您不应该有多个具有相同ID的元素吗? 听起来您有很多ID =“ ADD”的商品?
在这种情况下,您可能需要从
$('#add').val(),
至
$('#add', $(this)).text(),
在HTML文档中, .html()
可用于获取任何元素http://api.jquery.com/html/的内容,因此请尝试一下:
$('#add').html()
Daveo是正确的,您需要使div的ID唯一,一种选择是将播放列表ID与添加一起使用。 就像id="add_12345"
然后,在每个add_ [id变量] div中使用onclick内联而不是.click
jQuery方法:
<div id="add_12345" onclick="addClick(this);">
获取ID的JavaScript函数:
function addClick(element) {
id = element.id.slice(element.id.indexOf("_") + 1);
alert(id);
//your ajax post code here
}
有几种方法可以处理您要达到的目标,有关此主题的更多信息,请参见此非常出色的stackoverflow问答: 获取触发事件的元素的ID。
您应该更改标记, 12.2.2嵌套链接是非法的
几乎对确切确定要执行的操作感到困惑。 每个视频都是播放列表的子级吗? 如果是这样,请尝试将this.id作为参数传递给onClick事件...
...click="toPlaylist(this.id)"
function toPlaylist(clicked) {
var tempVideo = clicked;
// Get a parent node ID like this...
var tempList = $(clicked).parentNode.id;
// Do something else...
nextAction(tempVideo, tempList);
}
PS:您可能必须做这样的事情
var tempVideo = '#'+clicked;
...对于变量,我不确定。
希望这会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.