1

テーブルからアドレスのリストを読み取り、Google マップでルートをトレースするスクリプトがあります。

(私の古いものと同様: Google マップ API をグリースモンキーで使用して、住所のテーブルを読み取り、ルートをトレースする方法は? )

しかし、すべての住所の前に「箇条書き」記号があり、Googleマップはそれを削除してマップをレンダリングしないため、以下のエラーが表示されます

ここに画像の説明を入力

これはテーブル セルの HTML です

ここに画像の説明を入力

JQuery/Javascript で「弾丸」を削除する方法に関するヒントはありますか?

4

3 に答える 3

2

したくない場合は.substr(2)、最初のオカレンスを次のように置き換えることができます。

var s = $("#para").text().replace("\u2022", "");

\u2022html箇条書きエンティティの文字はどこにありますか•

于 2012-06-18T12:04:38.487 に答える
1
$(".dadosf:contains('.')").each(

 function()
 {
     $(this).text($(this).text().substring(2));
 }

);
于 2012-06-18T12:03:39.393 に答える
1
$(".dadosf").each(   
 function(i,e)
 {
     $(e).text($(e).text().substring(2));
 }
);

JQuery.each()はコレクションを繰り返し処理します。内部テキストを 2 番目の文字から取得した同じテキストに置き換えるだけです ( substring(2))


別のユーザーが指摘したように、このアプローチは、弾丸があることが確実な場合に機能します。そうでない場合は、セレクターの代わりにコードで条件を使用:contains(text)して、一般的なアプローチを取り、先頭の文字のみを確実に削除します (テキスト内に箇条書きがある可能性は低いですが、:contains()この条件の文字列にも一致します) 、これは間違っています):

$(".dadosf").each(   
 function(i,e)
 {
     var t = $(e).text();
     if (t.substring(0,1) == "\u2022")
         $(e).text(t.substring(2));
 }
);

</p>

于 2012-06-18T11:58:47.367 に答える