2

「1 件の返信と 30 件のメンション」または「3 件の返信と 1 件のメンション」のようなアンカー テキストがあります (明らかに数は異なります)。jQuery を使用して、そのアンカー テキストを追加さ​​れた数字に置き換えようとしています。

$(document).ready(function() {
$('header div.comments-link a').each(function(index) {
    var myreaction = $(this).text().split(" ");
    $(this).text(myreaction[0]+myreaction[3]);
});
});

したがって、最初の例では、1+30 になるため、テキスト置換は 31 になります。2 番目の例では、3+1 になるため、テキスト置換は 4 になります。

ただし、実際のテキストを置き換えているようには見えず、分割配列を適切に実行していないようです。ページを下っていくと、"1" を取得することもあれば、"Reply" を取得することもあります。

何か案は?

4

3 に答える 3

3

正規表現を試して、数値文字列を実際の整数に解析します。

var myreaction = $(this).text().match(/(\d+) Repl(?:y|ies) and (\d+) Mention(?:s?)/);
$(this).text(parseInt(myreaction[1], 10) + parseInt(myreaction[2], 10));
于 2012-07-15T04:25:42.750 に答える
2

動作デモ http://jsfiddle.net/BxUXX/1/

2台追加用parseInt

それが役に立てば幸い

コード

var str = "1 Reply and 30 Mentions";

$(document).ready(function() {
   // $('header div.comments-link a').each(function(index) {
        var myreaction = str.split(" ");
        alert(parseInt(myreaction[0]) + parseInt(myreaction[3]));
   // });
});​
于 2012-07-15T04:27:54.143 に答える
0

これを試して:

$(document).ready(function() {
  $('header div.comments-link a').each(function(index) {
    var s = $(this).text().replace(/\D/g, "").split("")
    $(this).text(parseInt(s[0], 10) + parseInt(s[1], 10));
  });
});
于 2012-07-15T04:49:02.203 に答える