从HTML元素中获取数据,并用信息填充其他元素
obtain data from html elements and populate others with the info
我目前正在研究一个基于ajax的函数,将youtube视频加载到现有的div中。该部分工作得很好。
现在我想修改我的代码,这样我也可以为每个视频抓取一个隐藏的标题和描述,并将这些数据添加到视频的上方和下方(标题应该在上方,描述应该在下方)。
问题是我不确定谁来完成这个修改。以下是目前为止的内容:
我的Javascript:
<script language="javascript" type="text/javascript">
function SendValue(v) {
xmlHttpReq = new XMLHttpRequest();
xmlHttpReq.onreadystatechange = HandleValue;
xmlHttpReq.open("GET", "srcsendback2.php?code="+v,true);
xmlHttpReq.send();
}
function HandleValue(Code) {
if(xmlHttpReq.readyState == 4) {
if(xmlHttpReq.status == 200) {
var Code;
var CodeTitle;
var CodeDesc;
var Code = xmlHttpReq.responseText;
CodeTitle = code + "-title";
CodeDesc = code + "-desc";
document.getElementById('vidtitle').innerHTML = document.getElementsByClassName('CodeTitle').innerHTML
document.getElementById('viddesc').innerHTML = document.getElementsByClassName('CodeDesc').innerHTML
document.getElementById('ytvid').src = document.getElementsByClassName('Code')[0].getElementsByTagName('a')[0].href
window.scroll(0,0); // horizontal and vertical scroll targets, scrolls page to the top
}
}
</script>
这里有一些例子html:
<h1 id="vidtitle"></h1>
<div id="videoDiv">
<iframe id="ytvid" width="500" height="300" frameborder="0" src="http://www.youtube.com/embed/xyz" frameborder="0" allowfullscreen></iframe>
</div>
<p id="viddesc"></p>
<div id="links">
<button type="button" name="button" onClick="SendValue('abc')" value="http://www.youtube.com/embed/123">Title 1</button> <br />
<button type="button" name="button" onClick="SendValue('def')" value="http://www.youtube.com/embed/456">
Title 2</button> <br />
<button type="button" name="button" onClick="SendValue('ghi')" value="http://www.youtube.com/embed/789">Title 3</button> <br />
<div id="content" style="display:none;">
<ul class="media-collection">
<li>
<div class="m-left">
<a href="#">
</div>
<div class="m-right">
<p class="CodeTitle">
<a href="http://www.youtube.com/embed/123">
<span class="field-content">Title 1</span>
</a>
</p>
<p></p>
<div class="CodeDesc">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur convallis metus et lectus venenatis rhoncus. Suspendisse potenti. Maecenas bibendum nisi ut velit luctus ultricies. Mauris at nibh a elit pretium varius. Nunc accumsan sagittis augue at facilisis. Phasellus et ante lorem, vitae laoreet enim. Donec vulputate, velit a lobortis eleifend, neque nibh rhoncus quam, non pharetra turpis mauris sed ligula. Ut rhoncus, felis ac scelerisque volutpat, turpis elit malesuada ante, vel varius lorem erat dapibus mi. Nullam nulla risus, aliquam sed tempus eu, dictum a est.
</p>
</div>
<p></p>
</div>
</li>
</ul>
</div>
</div>
如果我不能清楚地描述我的问题,我很抱歉。
感谢您的帮助。
查找标题,您可以这样做:
var p = document.getElementsByClassName('CodeTitle')[0];
var span = p.getElementsByTagName('span')[0];
alert(span.childNodes[0].nodeValue);
注意,当你这样做的时候:
xmlHttpReq.onreadystatechange = HandleValue;
…你给javascript一个函数,你希望js在未来的某个日期调用。当js调用这个函数时,js不会带任何参数来调用它
相关文章:
- 如何在不传递此信息的情况下查找被调用的元素
- 如何在没有回调的情况下获取有关元素的信息
- 根据选择选项元素将表单重定向到不同的URL,并在电子邮件中获取表单详细信息
- jQuery在单击当前元素时添加信息
- 使用“可排序”时获取新元素信息
- 在 Backbone.js 中为集合中的一个元素创建详细信息页面
- 存储来自每个元素的定位信息(JQuery/Javascript)
- 在 CSS 中有一个单独的伪选择器,以显示有关一行中多个元素的信息
- 检查元素的精确样式信息
- 谷歌地图API V3 - 元素点击 - 中心地图/打开信息窗口
- 使用 JavaScript 自动获取 ::before 元素的信息
- jquery:如何将表单元素信息传递给另一个函数
- 在元素上使用css属性content来异常存储javascript的信息
- 向服务器提交关于从angular中选择的大列表中的每个元素的信息
- 获取有关触发特定事件的元素的信息的标准方式
- 如何定位谷歌地图自定义信息框上的元素
- 从本地托管网页的坐标中获取元素详细信息
- 在不知道值的任何信息的情况下,选择值时切换元素
- 提取JPlayer播放列表元素信息
- jQuery设置每个元素信息的点击处理程序