1

テーブル内に長い URL があります。私がやりたいのは、「q =」と「&」の間の内容のみを表示し、フォントサイズを24pxにすることです

<tr>        <td width="200" class="FieldLabel">
        &nbsp;&nbsp;            9d.seguimiento:&nbsp;
    </td>
    <td>
        http://www.google.com.ar/aclk?sa=l&amp;ai=CZPDPFa0nUpy_NqnjiQKLnoGgC9TDidMFlMbTsIYBzLCy5o8BCAAQASgDUOaitkNgodCEgCygAbz01eADyAEBqQINBW5nwYqHPqoEI0_QlKOMbJ1F4PozVQrINTA87n7cOIGvayY5KKXi7nFbfoiDgAesi6of&amp;sig=AOD64_15b8YaU3U1t7e8ZNZ04mEVVZsw4g&amp;rct=j&amp;q=seguros+banco+provincia&amp;ved=0CC4Q0Qw&amp;adurl=http://segurosendirecto.com.ar/cotizador-de-seguros-auto?kw=seguros%2520banco%2520provincia       </td>

jqueryで要素を選択する方法は次のとおりです。

$('#fichadelcontacto tr:contains("9d.seguimiento")')

「q=」と「&」の間のみを表示し、「+」を実際のスペースに置き換えるにはどうすればよいですか?

4

2 に答える 2

1
var url = $("td.FieldLabel").next().text(); // i guess the selector is good
var match = url.match(/q=([^&]+)/);

match[1]グループの括弧を参照してください。match が失敗した場合、match は null になり、match[1] にアクセスしようとするとエラーが発生します。

var result = match[1].replace(/\s+/, "+");

ただし、探していると思いますencoding/decoding URI components。これらの機能も確認してください。

また、$("td.FieldLabel").next()テーブルデータですが、css メソッドでその CSS を操作できるので、追加する必要があります.css("font-size", "24px");

編集:ワーキングJSフィドル:http://jsfiddle.net/aYLKV/12/

于 2013-09-28T15:08:55.623 に答える
0

これを試して:

// get substring between `=` and `&`
var String=str.substring(str.lastIndexOf("=")+1,str.lastIndexOf("&"));
// replace `+` with ` `
String.replace(/+/g,' ');
于 2013-09-28T15:08:49.527 に答える