1

次のhtmlの例があります

<div id="main"><input type="hidden" name="bilbo" value="0"><a id="baggins" href="somewhere.com"></div>
<div id="main"><a id="baggins" href="somewhere-else.com"></div>
<div id="main"><a id="baggins" href="somewhere-elseagain.com"></div>

私がする必要があるのは、main の id を持つ各 div をループし、非表示の入力タイプが存在するかどうかを確認することです。

次に、入力が非表示になっているのと同じdivでそのリンクのhrefを変更する必要があります。毎回、複数あります。

どんな助けでも大歓迎です。

4

2 に答える 2

2

HTML を制御できないため、ID は忘れてください。

$('div:has(input[type=hidden]) a')

divつまり、DIV にネストされた非表示の入力を持つ必要がある要素内にネストされているすべてのハイパーリンクを教えてください。

おおよそ次のものが必要です

$('div:has(input[type=hidden]) a').each(function (i, link) {
    $(link).attr('href', 'whatever.bla');
});

RSS フィードの HTML を文字列にフェッチする場合は、おそらく次のようにすることができます。

// assuming you fetched the rss feed as a string or responseText
var htmlString = '<div id="main"><input type="hidden" name="bilbo" value="0"><a id="baggins" href="somewhere.com"></div><div id="main"><a id="baggins" href="somewhere-else.com"></div><div id="main"><a id="baggins" href="somewhere-elseagain.com"></div>';

var $feeds = $(htmlString);

$feeds.find('div:has(input[type=hidden]) a').each(function (i, link) {
    $(link).attr('href', 'whatever.bla');
});
于 2013-04-26T13:41:51.897 に答える