1

さらにコードを追加する前に、次のことを確認したいと思います。

<a href='index.php?option=com_content&view=article&id=36'>Hello</a>

id='faqs' の div 内の html ページにまだありません

<div id='faqs'>
<a href='index.php?option=com_content&view=article&id=36'>Hello</a>
</div>

jqueryまたはjavascriptでこれを行う最良の方法は何ですか?

ありがとう

4

4 に答える 4

0

最も簡単な方法は、jQuery を使用して要素を選択しlength、結果のオブジェクトのプロパティを確認することです。

var anchor = $('#faqs a[href="index.php?option=com_content&view=article&id=36"]')
if(anchor.length == 0) {
    // element isn't on the page
}
于 2012-11-25T23:44:52.137 に答える
0

目的が a タグを div タグの子として使用することであり、それだけである場合は、チェックする必要はなく、次のように再追加するだけです。

$('#faqs').html('');
$('<a />')
  .attr('href', 'index.php?option=com_content&view=article&id=36')
  .html('hello')
  .appendTo($('#faqs'))​;​

ただし、本当に存在するかどうかを確認する必要がある場合は、次のようにすることができます。

var exists = $('#faqs a[href="index.php?option=com_content&view=article&id=36"]').length > 0;

アップデート

HTML 内の文字列を検索するには、次のようにしますが、これは推奨される解決策ではありません。さまざまな方法で html をエンコードするさまざまなブラウザーで問題が発生する可能性があります (chrome でテスト済み):

var stringToFind = '<a href="index.php?option=com_content&view=article&id=36">Hello</a>';

// need to replace the & ...
stringToFind = stringToFind.replace(/&/g, '&amp;');

var exists = $('#faqs').html().indexOf(stringToFind) > -1;
if (exists) {
  // do something            
} else {
  // do something else
}

これが実際の例です-> http://jsfiddle.net/Uzef8/2/

于 2012-11-25T23:48:55.937 に答える
0

indexOf を使用して検索できます

var inBlock = $('#faqs').html();
if (inBlock.indexOf("<a href='index.php?option=com_content&view=article&id=36'>Hello</a>") == -1) {
    $('#faqs').append ("<a href='index.php?option=com_content&view=article&id=36'>Hello</a>");
}
于 2012-11-25T23:58:24.057 に答える
0
if (!$('a[href$="view=article&id=36"]', '#faqs').length) {
    //does'nt exist
}
于 2012-11-26T00:07:03.883 に答える