gpt4 book ai didi

javascript - 如何使用在给定 jQuery 选择中找到的元素生成对象

转载 作者:行者123 更新时间:2023-11-29 23:19:51 25 4
gpt4 key购买 nike

LGSon's answer 的帮助下,我有以下 jQuery 选择到earlier question ...

$('div.content__article-body > *').not('aside').each( function( index, value ) {
console.log( value.outerHTML );
});

但是,我需要学习如何以与下面代码的 result 部分一致的方式编写它...

我想我需要将 outerHTML 元素链接到 jQuery 行,但我在这方面没有取得多大成功。

在本例中,选择的是“entry”

function pageFunction(context) {

// Called on every page the crawler visits, use it to extract data from it
var $ = context.jQuery;

// If page is START or a LIST,
if (context.request.label === 'START' || context.request.label === 'LIST') {

context.skipOutput();

// First, gather LIST page
$('ol.pagination li a').each(function() {
context.enqueuePage({
url: window.location.origin + $(this).attr('href'),
label: 'LIST'
});
});

// Then, gather every DETAIL page
$('h3>a').each(function(){
context.enqueuePage({
url: window.location.origin + $(this).attr('href'),
label: 'DETAIL'
});
});

// If page is actually a DETAIL target page
} else if (context.request.label === 'DETAIL') {

/* context.skipLinks(); */

var tags = [];
$('span.tags a').each( function() {
tags.push($(this).text());
});

result = {
"title": $('h1.entry-title').text(),
"excerpt": $('div.content-blog__body p strong:first').text().trim(),
"entry": $('div.content-blog__body').html().trim(),
"datestamp": $('meta[property="article:published_time"]').attr('content'),
tags: tags
};

}
return result;
}

最佳答案

这里是一个简化的 pageFunction,展示了如何使用 .find() 搜索结果集。

我现在知道你的意思(在链接问题中),this answer from the same (我认为这也应该被记入贷方,再加上我的 1) 会给你一个结果集来处理,而不是我给出的元素数组,虽然这里我使用了 jQuery 的 append() 当创建新对象时。

堆栈片段

var $res = $('<div></div>').append( $('div.content__article-body') );
$res.find('aside').remove();

console.log( pageFunction() );

function pageFunction() {

result = {
"title": $res.find('h2').text(),
"excerpt": $res.find('h2 ~ p:first').text().trim()
};

return result;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="content__article-body from-content-api js-article__body" itemprop="articleBody" data-test-id="article-review-body">
<p>A wise man once <a href="http://www.quora.com/Who-originally-suggested-that-if-youre-not-paying-for-the-product-you-are-the-product" rel="nofollow" data-link-name="in body link" class="u-underline">said</a>: “If you’re not paying for it, you’re the product.” That’s what is happening in the magazine world, as <a href="https://www.theguardian.com/media/2015/jul/06/nme-to-go-free-with-larger-circulation" data-link-name="in body link" class="u-underline">NME abandons its cover price</a> after 63 years, to go free.<br></p>
<p>In doing so, the title is turning its readers from customers in to advertiser targets. But NME is far from the first property to try this trick. <a href="http://articles.baltimoresun.com/1996-11-13/features/1996318156_1_village-voice-schneiderman-circulation" rel="nofollow" data-link-name="in body link" class="u-underline">The Village Voice</a>, the <a href="http://www.britishpapers.co.uk/england-wmids/shrewsbury-chronicle/" rel="nofollow" data-link-name="in body link" class="u-underline">Shrewsbury Chronicle</a>, the <a href="https://news.google.com/newspapers?id=HU1aAAAAIBAJ&amp;sjid=KSgMAAAAIBAJ&amp;pg=1120%2C535142" rel="nofollow" data-link-name="in body link" class="u-underline">Standard</a> of Hong Kong, <a href="https://gigaom.com/2007/10/31/419-friends-reunited-dropping-subscriptions-to-go-free-ad-supported-report/" rel="nofollow" data-link-name="in body link" class="u-underline">Friends Reunited</a>, the <a href="https://gigaom.com/2009/10/02/419-london-evening-standard-bold-re-birth-or-a-free-folly/" rel="nofollow" data-link-name="in body link" class="u-underline">Evening Standard</a>, the <a href="http://www.fulhamsw6.com/default.asp?section=info&amp;spage=common/contrinity001.htm" rel="nofollow" data-link-name="in body link" class="u-underline">Fulham and Hammersmith Chronicle</a>, Time Out in <a href="https://gigaom.com/2008/09/01/419-time-out-seeking-investors-could-go-free-and-beef-up-online/" rel="nofollow" data-link-name="in body link" class="u-underline">London</a> and <a href="http://www.timeout.com/about/time-out-group/latest-news/time-out-new-york-announces-launch-of-its-magazine-to-free-weekly-distribution" rel="nofollow" data-link-name="in body link" class="u-underline">New York</a>, and now <a href="https://www.theguardian.com/media/greenslade/2015/jul/08/the-sun-lowers-its-paywall-allowing-free-access-to-many-stories" data-link-name="in body link" class="u-underline">parts of the Sun’s website</a> are all among those to have dropped their fees in favour of frees.</p>
<p>But what has become of the converts? And what do their fortunes since tell us, <a href="https://www.theguardian.com/music/nme" data-link-name="auto-linked-tag" data-component="auto-linked-tag" class="u-underline">NME</a> and other operators about the key ingredients for a successful switch?</p>
<aside class="element element-rich-link element--thumbnail element-rich-link--not-upgraded" data-component="rich-link" data-link-name="rich-link-1 | 1">
<div class="rich-link">
<div class="rich-link__container">
<div class="rich-link__header">
<h1 class="rich-link__title">Old media's prospects have improved but the new media threat looms large</h1>
</div>
<div class="rich-link__read-more">
<div class="rich-link__arrow">
<span class="inline-arrow-in-circle inline-icon ">
<svg width="24" height="24" viewbox="0 0 24 24" class="inline-arrow-in-circle__svg inline-icon__svg">
<path class="rich-link__arrow-icon" d="M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m.21 19l-.637-.668 4.888-6.326H4.996v-1.01h11.465l-4.888-6.333.637-.668L19 11.153v.685l-6.79 7.157" fill-rule="evenodd"/>
</svg> </span>
</div>
<div class="rich-link__read-more-text">
Read more
</div>
</div>
<a class="rich-link__link u-faux-block-link__overlay" href="https://www.theguardian.com/media-network/2015/mar/20/new-media-threat-buzzfeed-vice" aria-label="Old media's prospects have improved but the new media threat looms large"></a>
</div>
</div>
</aside>
<h2>1. Know your predicament</h2>
<p>It would be nice to say the switch to free comes either out of benevolence or out of a market opportunity. The reality is, operators invariably flick the switch under external pressure of a poor business outlook – no amount of dressing up as a “bold relaunch” can change that.</p>
<p>NME’s circulation was falling by <a href="https://www.theguardian.com/media/2014/feb/13/nme-relaunch-sales-slide-ipc-media" data-link-name="in body link" class="u-underline">around a fifth annually</a>. The Evening Standard was frustrated to find itself far behind national dailies on ad planners’ schedules, locking it out of big brand bucks, according to someone familiar with the strategy to switch.</p>
<p>The Village Voice dropped its cover charge in 1996 after being eaten into by rival New York Press being given away in green sidewalk boxes, while Hong Kong’s Standard newspaper was forced to act when the government removed a decree that listed companies must buy classified ads in newspapers. But the key – as anyone who has heard the “<a href="https://en.wikipedia.org/wiki/Boiling_frog" rel="nofollow" data-link-name="in body link" class="u-underline">boiling frog</a>” allegory will know – is to recognise when it is your time to change tack.</p>
</div>

关于javascript - 如何使用在给定 jQuery 选择中找到的元素生成对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51132541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com