Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery从页面上的标签获取href和文本,并在div中显示它们_Javascript_Jquery_Scripting - Fatal编程技术网

Javascript jquery从页面上的标签获取href和文本,并在div中显示它们

Javascript jquery从页面上的标签获取href和文本,并在div中显示它们,javascript,jquery,scripting,Javascript,Jquery,Scripting,这是我的jquery代码: $(document).ready(function() { var contentText = $.ajax({ url: "index.php", async: false }).responseText; $("#defaultData").append(contentText); $('img').each(function(){ $(this).remove(); }); //delegate? var test = 0;

这是我的jquery代码:

$(document).ready(function() {

var contentText = $.ajax({
    url: "index.php",
    async: false
}).responseText;

$("#defaultData").append(contentText);

$('img').each(function(){
    $(this).remove();
});

//delegate?

var test =  0;  
var href = 0;
var title = 0;

$('.btn').click(function(){


    var href = $('a').each(function() {
        $(this).attr('href');
    });
    console.log(href);

    var test = $('a').each(function() {
        $(this).text();
    });

    console.log(test);

$.each(href, function(i, val) {
        $("#data").append(i + " => " + val + "<br/>");
    });

    $.each(test, function(i, val) {
        $("#data").append(i + " => " + val + "<br/>");
    });

}); 
//for (var i = 0; 50; i++) {    
//var pageNum = $("a#specificLink").attr("href").match(/page=([0-9]+)/)[1];
});
$(文档).ready(函数(){
var contentText=$.ajax({
url:“index.php”,
异步:false
}).responseText;
$(“#defaultData”).append(contentText);
$('img')。每个(函数(){
$(this.remove();
});
//代表?
var检验=0;
var href=0;
var title=0;
$('.btn')。单击(函数(){
var href=$('a')。每个(函数(){
$(this.attr('href');
});
console.log(href);
var test=$('a')。每个(函数(){
$(this.text();
});
控制台日志(测试);
$.each(href,function(i,val){
$(“#数据”)。追加(i+”=>“+val+”
); }); $。每个(测试、功能(i、val){ $(“#数据”)。追加(i+”=>“+val+”
); }); }); //对于(var i=0;50;i++){ //var pageNum=$(#特定链接”).attr(“href”).match(/page=([0-9]+)/)[1]; });
此代码的作用是: 它获取一个页面(index.php)打印它,删除图像,并从所有a标签中获取href和文本

第一个问题: 文本 应该给我:链接和文本 但它给了我一个接一个的链接:s 我真的不明白

第二个问题: 我还想将href和文本附加到一个div中,用分号分隔。 看起来是这样的: 链接;文本 链接;文本

现在我得到: 链接 链接 文本 文本 …

我不认为$('slector')。each()设计用于返回值。您应该在循环中填充一个变量,如下所示:

var href = []
$('a').each(function() {
    href.push($(this).attr('href'))
})
console.log(href)

这将为您提供所有
链接;text链接;text

var test = "";
$('a').each(function() {
    test += $(this).attr('href') + ';';
    test += $(this).text() + ' ';
});
alert(test);
您以link;link;link然后是text;text..结尾的原因是您正在通过处理所有链接

$.each(href, function(i, val) {
    $("#data").append(i + " => " + val + "<br/>");
});
$。每个(href,函数(i,val){
$(“#数据”)。追加(i+”=>“+val+”
); });

甚至在处理文本之前。如上图所示同时添加它们。

仅添加,似乎您正在使用
。每个
应使用的方式:

var href = $('a').map(function() {
    return this.href + ';' + $(this).text();
}).get();
$("#data").append(href.join(' '));

$.ajax调用后contentText包含哪些内容?您能在JSFIDLE中发布吗?我认为ajax调用后的所有代码都应该在对象内部执行
success
函数,除此之外,idkcontentText只包含一些html,表中有大量链接,该部分正常工作。这也正常工作ng,谢谢大家,我只是不知道我要检查谁的答案是正确的,blly moon还是richard,karim也感谢在这里勾选我们中的一个是违反规则的-然后去勾选一个与另一个完全不同的答案来平衡事情?我一直认为你可以做一个好游戏,首先回答堆栈溢出问题-或者至少是一个考试系统。最快被接受的答案会得到高分等。。。