0

我想通过 Jquery 或 Javascript 从 HTML 文件中选择以下三个值。

  1. 类“class1”href 值
  2. 类“class1”内部文本值(示例代码中的 PersonA)
  3. 类“Title”内部文本值(示例中的会计)

如何按节点选择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>
..... 
4

4 回答 4

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)哪里设置thisli 元素本身)。该.find()方法用于在 li 中查找锚元素,然后检索其 href 和内容。

您询问的“会计师”是定义列表中的一项,因此您可能希望在该列表中循环使用另一个.each()嵌套在上面的语句中的语句。

您没有明确说明要如何使用这些值,但这应该可以帮助您入门。有关我提到的各种 jQuery 方法的更多详细信息,请查看jQuery API

于 2012-07-10T07:32:57.840 回答
5

要获得“PersonA”:$('#v-0 h2 a').html();

要获取该链接的href:$('#v-0 h2 a').attr('href');

要获得“会计师”:$('#v-0 dl dd').html();

您可以在选择器的开头修改 id ("v-0") 以选择数据集的特定“行”。

于 2012-07-10T07:33:52.403 回答
2
document.getElementById(Id).value

返回具有特定 id 的元素的值。在jQuery中:

$("#id").val()

按班级$(".yourClass").val()

attr("attributeName")例如获取属性值使用$(".class1").attr('href')

如果您想从指定元素中获取文本,请使用.text()like $(".title").text() //will return Accountant

于 2012-07-10T07:32:59.100 回答
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
于 2012-07-10T07:30:02.060 回答