質問

私は、H323追加する:ユーザーがIP電話をダイヤルするリンクをクリックすることができるように、高層の連絡先電話番号への番号スタイルのリンクを...

私が探していたHTMLは、次のとおりです。

<table>
  <tbody>
    <tr>
      <th>Phone</th>
      <td>+44 (0)1123 1231312<span>Work</span></td>
    </tr>
    <tr>
      <th></th>
    <td>+44 (0)777 2342342<span>Other</span></td>
    </tr>
  </tbody>
</table>

と基本的に私は、TDにあり、44で始まる番号を引き出しスペースを取り除くと

のようなのhrefを持っているスパン内のリンクに固執したいです
h323:4411231231312  

すなわち。かっこ内の0を除去されます。

すべてのヘルプはgreatfully、次のいずれかに受信されるだろう。

(1)どのように私は+ \ dは\ dは数字を含むTDと一致していますか? 私はtdから番号を取得する場合(2)どのように私はスパンを除外するためにセレクタを使うのですか (3)どのような正規表現私は、hrefのためのクリーンアップに番号を使用する必要がありますか?

役に立ちましたか?

解決

これは何が必要に近づける必要があります。

$('tbody td').each(function() {
    // match a sequence of digits, parentheses and spaces
    var matches = $(this).text().match(/[ \d()]+/);

    if (matches) {
        // remove the spaces and stuff between parentheses
        var href = 'h323:' + matches[0].replace(/\s|\(.*?\)/g, '');
        var link = $('<a/>').attr('href', href);

        $('span', this).append(link);
    }
});

しかし注意の一言、spanの内容は、試合中に含まれる数字で始まる場合、これは計上する必要があります可能性がありますか?

他のヒント

ここで最終のGreaseMonkeyスクリプトだ - 誰かのために役に立つかもしれません...

// ==UserScript==
// @name          HighRise Dialler
// @namespace     
// @description   Adds a CALL link to HighRise Contacts.
// @include       https://*.highrisehq.com/*
// @require       http://code.jquery.com/jquery-latest.min.js
// ==/UserScript==

(function(){

GM_xmlhttpRequest({
   method: "GET",
   url: "http://jqueryjs.googlecode.com/files/jquery-1.2.6.pack.js",
   onload: run
});

function run(details) {

   if (details.status != 200) {
       GM_log("no jQuery found!");
       return;
   }

   eval(details.responseText);
   var $ = jQuery;

   //do something useful here....

   $('table td').each(function() {
       var matches = $(this).text().match(/^\+*?[\d\(\) ]+/);

       if (matches) {
         var href = 'h323:' + matches[0].replace(/\+44|\+|\s|\(|\)/g, '');
         var link = $(' <a>CALL<a/>').attr('href', href);
         $(this).find('span').append(link);
       }
   });

}

})();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top