0

主に PDF やその他のドキュメントの結果を返す ASP 検索スクリプトがあります。サイトの大部分で、ユーザーが特定のリンクにカーソルを合わせるとツールチップを作成する、clueTip (Karl Swedberg 作) という jQuery プラグインを使用しています。これらのリンクのコンテンツは、リンクの rel 属性で定義された html ファイルから ajax によって取得されます。

<a href="../../example.pdf" class="tips" rel="../../tooltips/example.html>

ユーザーが検索を行うときに、これらのツールチップを特定の場所から PDF に動的に追加できるようにしたいと考えています../../technicalarticles。だから私はする必要があります:

  1. 返された PDF を見つけて、リンク../../technicalarticlesに追加します。class="tips"
  2. これらの PDF から、関連するファイル名を抽出する必要があります (最後/からファイル拡張子までのすべて)。
  3. そのファイル名をrel属性に追加します

以下はこれまでの私のjQueryコードです:

<script type="text/javascript">
$(".results a").each(function() {
    if (window.location.href.indexOf("technicalarticles") >= 0)
    // if statement to find the right pdfs
    { 
        var firstpos = location.href.lastIndexOf('/')+1; // finds the position of the last / and adds 1
        var lastpos = location.href.lastIndexOf('.')-1; // finds the position of the last . and subtracts 1
        var filename = location.href.substr(firstpos, lastpos); // filename should now have eveything from the last / to the file extension

        $(this).attr('rel', ".data/tooltips/" + filename + ".html"); // adds the rel string to the link
        $(this).addClass('tips'); // adds the class 'tips' to the link
    }
} );
</script> 
4

1 に答える 1

0

window.location は現在のページの URL です。jQuery メソッド $(this) - 現在処理されているリンクのコンテキストを使用する必要があります。このように .attr() で属性を取得/設定してみてください

var target = $(this);
someUrlPath = /here get part of url/
target.attr('rel', target.attr('rel') + someUrlPath);

しかし、可能な場合は、ASP を使用して rel パラメータを埋めることをお勧めします。

于 2013-02-05T08:39:24.157 に答える