I want to make a bookmarklet so that when I go on Digg, I can simply click it and have the top 10 stories open up in new tabs.
The HTML on the page looks like this:
<div id="topten-list">
<div class="news-summary img-thumb">
<h3>
<a href="/comics_animation/Pokemon_COMIC">Pokemon - (COMIC)
<span>
<em style="background-image: url("/comics_animation/Pokemon_COMIC/a.png");">
thumb</em>
</span></a>
</h3>
<ul class="news-digg">
<li class="digg-count">
<a href="/comics_animation/Pokemon_COMIC">
<strong>1872</strong>
</a>
</li>
</ul>
</div>
<div class="news-summary img-thumb">
<h3>
<a href="/comedy/I_am_never_drinking_with_you_assholes_again_Pic">
I am never drinking with you assholes again [Pic]
<span>
<em style="background-image: url("/comedy/I_am_never_drinking_with_you_assholes_again_Pic/a.png");">
thumb</em>
</span></a>
</h3>
<ul class="news-digg">
<li class="digg-count">
<a href="/comedy/I_am_never_drinking_with_you_assholes_again_Pic">
<strong>1650</strong>
</a>
</li>
</ul>
</div>
<div class="news-summary news-thumb">
<h3>
<a href="/comedy/xkcd_Hell">xkcd: Hell
<span>
<em开发者_开发问答 style="background-image: url("/comedy/xkcd_Hell/a.png");">
thumb</em>
</span></a>
</h3>
<ul class="news-digg">
<li class="digg-count">
<a href="/comedy/xkcd_Hell">
<strong>1407</strong>
</a>
</li>
</ul>
</div>
<div class="news-summary news-thumb">
<h3>
<a href="/arts_culture/6_Ridiculous_History_Myths_You_Probably_Think_Are_True">
6 Ridiculous History Myths (You Probably Think Are True)
<span>
<em style="background-image: url("/arts_culture/6_Ridiculous_History_Myths_You_Probably_Think_Are_True/a.jpg");">
thumb</em>
</span></a>
</h3>
<ul class="news-digg">
<li class="digg-count">
<a href="/arts_culture/6_Ridiculous_History_Myths_You_Probably_Think_Are_True">
<strong>1216</strong>
</a>
</li>
</ul>
</div>
<div class="news-summary news-thumb">
<h3>
<a href="/people/Why_Every_Chick_Flick_Is_Starting_to_Look_The_Same_CHART">
Why Every Chick Flick Is Starting to Look The Same [CHART]
<span>
<em style="background-image: url("/people/Why_Every_Chick_Flick_Is_Starting_to_Look_The_Same_CHART/a.jpg");">
thumb</em>
</span></a>
</h3>
<ul class="news-digg">
<li class="digg-count">
<a href="/people/Why_Every_Chick_Flick_Is_Starting_to_Look_The_Same_CHART">
<strong>978</strong>
</a>
</li>
</ul>
</div>
<div class="news-summary img-thumb">
<h3>
<a href="/food_drink/WTF_World_of_FAST_FOOD_Graphic">WTF
World of FAST FOOD! [Graphic]
<span>
<em style="background-image: url("/food_drink/WTF_World_of_FAST_FOOD_Graphic/a.jpg");">
thumb</em>
</span></a>
</h3>
<ul class="news-digg">
<li class="digg-count">
<a href="/food_drink/WTF_World_of_FAST_FOOD_Graphic">
<strong>874</strong>
</a>
</li>
</ul>
</div>
<div class="news-summary news-thumb">
<h3>
<a href="/people/10_Things_You_Don_t_Know_About_My_Life_As_a_Dominatrix">
10 Things You Don't Know About My Life As a Dominatrix
<span>
<em style="background-image: url("/people/10_Things_You_Don_t_Know_About_My_Life_As_a_Dominatrix/a.jpg");">
thumb</em>
</span></a>
</h3>
<ul class="news-digg">
<li class="digg-count">
<a href="/people/10_Things_You_Don_t_Know_About_My_Life_As_a_Dominatrix">
<strong>751</strong>
</a>
</li>
</ul>
</div>
<div class="news-summary img-thumb">
<h3>
<a href="/odd_stuff/Star_Trek_Transporter_Mishap_pic">Star
Trek Transporter Mishap (pic)
<span>
<em>thumb</em>
</span></a>
</h3>
<ul class="news-digg">
<li class="digg-count">
<a href="/odd_stuff/Star_Trek_Transporter_Mishap_pic">
<strong>667</strong>
</a>
</li>
</ul>
</div>
<div class="news-summary vid-thumb">
<h3>
<a href="/pc_games/StarCraft_2_Beta_Breakup_Video">StarCraft
2 Beta Breakup (Video)
<span>
<em style="background-image: url("/pc_games/StarCraft_2_Beta_Breakup_Video/a.jpg");">
thumb</em>
</span></a>
</h3>
<ul class="news-digg">
<li class="digg-count">
<a href="/pc_games/StarCraft_2_Beta_Breakup_Video">
<strong>627</strong>
</a>
</li>
</ul>
</div>
<div class="news-summary news-thumb">
<h3>
<a href="/politics/Jon_Stewart_FL_Doc_Won_t_Touch_Yr_Penis_If_You_Voted_Obama">
Jon Stewart: FL Doc Won't Touch Yr Penis If You Voted
Obama
<span>
<em style="background-image: url("/politics/Jon_Stewart_FL_Doc_Won_t_Touch_Yr_Penis_If_You_Voted_Obama/a.jpg");">
thumb</em>
</span></a>
</h3>
<ul class="news-digg">
<li class="digg-count">
<a href="/politics/Jon_Stewart_FL_Doc_Won_t_Touch_Yr_Penis_If_You_Voted_Obama">
<strong>508</strong>
</a>
</li>
</ul>
</div>
</div>
So within each div with the class "news-summary", there is a link. How can I get javascript to go through the div "topten-list" and open each one?
I would prefer to use jQuery
but to apply it on external site try this (hint i copy paste from my prev thread) I suggest to create a page with two iframes one to navigate to the designated website and other to get DOM Objects. in the first one navigate to the site and then select its HTML and append it in the body of the second Iframe.
iframe2.contentWindow.document.body.innerHTML = iframe1.contentWindow.document.body.innerHTML
then in the second iframe you will have the jquery script loaded and you can run this code.
$("news-summary img-thumb").find("news-digg").find("a").each(
function()
{
window.open(window.location + $(this).attr("href"));
}
)
tell me how it goes
The solution was this: I created a Javascript for statement which looped through the topten-list div and selected all tags named 'a'.
The final bookmarklet is this:
javascript:for(i=0;i<=18;i=i+2){window.open(document.getElementById('topten-list').getElementsByTagName('a')[i]);}
Ta-da!
精彩评论