Javascript scraper按类名查找元素属性

时间:2017-12-16 14:35:23

标签: javascript jquery

我有这个简单的javascript scraper,用于本地页面。

我会找到所有“title”类元素的id属性。

麻烦的是,当我在屏幕上打印变量时,变量(title1)永远是“未定义”而不是必须是“xxx”。

有什么问题?

本地页面:

<!DOCTYPE HTML>
<html>
<body>
<div class="title" id="xxx"> xyz</div>
</body>

(部分)代码:

{ 
    $.get("http://localhost/new.php", function(html) {  
        var title1 = $(html).find(".title").attr("id");
        document.getElementById("1").innerHTML = title1;
    })
}

1 个答案:

答案 0 :(得分:1)

这是因为.title是直接元素..您可以使用$(html).filter('.title').attr('id')或将.title div包装在另一个div中

var html = '<div class="title" id="xxx"> xyz</div>';
alert($(html).filter('.title').attr('id'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

包裹div

var html = '<div><div class="title" id="xxx"> xyz</div><div>';
alert($(html).find('.title').attr('id'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

工作示例

var html = '<div class="title" id="xxx"> xyz</div>';
var FindId = $(html).filter('.title').attr('id');
$('#1').html(FindId);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="1"></div>