1

在一张桌子里面我有一个长网址。我想要做的是只显示“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]将包含您需要的内容,请参阅该组的括号。如果匹配失败,匹配将为空,如果您尝试访问匹配[1],您将收到错误消息

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

但是,我认为您正在寻找encoding/decoding URI components,请检查这些功能。

另外,$("td.FieldLabel").next()是表格数据,你可以通过css方法操作它的CSS,所以你应该添加.css("font-size", "24px");

编辑:工作 JS Fiddle: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 回答