Javascript jquery从页面上的标签获取href和文本,并在div中显示它们
这是我的jquery代码: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;
$(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也感谢在这里勾选我们中的一个是违反规则的-然后去勾选一个与另一个完全不同的答案来平衡事情?我一直认为你可以做一个好游戏,首先回答堆栈溢出问题-或者至少是一个考试系统。最快被接受的答案会得到高分等。。。