我想通过Jquery或Javascript从HTML文件中选择以下三个值。
如何逐节点选择li的所有数据?我迷路了:(
<ol id="result-set">
<li id="v-0">
<div class="result-data">
..
<h2>
<a class="class1" href="">PersonA</a>
</h2>
<dl class="basic">
<dt>Title</dt>
<dd class="title">Accountant</dd>
....
</dl>
</div>
</li>
<li id="v-1">
...
</li>
.....
答案 0 :(得分:5)
使用jQuery,你可以这样做:
$("#result-set li").each(function() {
var $currentLi = $(this),
$class1link = $currentLi.find("a.class1"),
class1href = $classAlink.attr("href"),
class1content = $classAlink.html();
// do something with values
});
.each()
方法将处理每个li元素。在.each()
的回调中,变量$currentLi
是一个jQuery对象,其中包含li(从$(this)
设置,其中this
是li元素本身)。 .find()
方法用于查找li中的锚元素,然后检索其href和内容。
您询问的“会计”是定义列表中的一个项目,因此您可能希望使用嵌套在上面的一个.each()
语句中遍历该列表。
您没有说清楚如何使用这些值,但这应该可以帮助您入门。有关我提到的各种jQuery方法的更多详细信息,请查看jQuery API。
答案 1 :(得分:5)
获取“PersonA”:$('#v-0 h2 a').html();
获取该链接的href:$('#v-0 h2 a').attr('href');
获取“会计”:$('#v-0 dl dd').html();
您可以修改选择器开头的ID(“v-0”),以选择数据集的特定“行”。
答案 2 :(得分:2)
document.getElementById(Id).value
返回具有特定id的元素的值。在jquery:
$("#id").val()
按班级$(".yourClass").val()
获取属性值使用attr("attributeName")
,例如$(".class1").attr('href')
。
如果您想从指定元素获取文本,请使用.text()
之类的$(".title").text() //will return Accountant
。
答案 3 :(得分:0)
你的意思是用jQuery选择器选择它们?那将是这样做的:
$('.class1').attr('href') //class1 href, i persume you dont mean classA as it doesnt exist in your code
$('.class1').text(); //PersonA text using the same selector
$('.title').text(); //Accountant from the .title dd