-6

这是我的html代码的一部分:

<span id="ctl08"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" height="50" width="150">
              <param name="movie" value="/Flash/Dg_Inverse.swf?secEncCode=9e2ec595c926065318629a6dfea6b2ed">
              <param name="quality" value="high">

我需要在我的代码中找到这样的元素:

<param name="movie" value="/Flash/Dg_Inverse.swf?secEncCode=9e2ec595c926065318629a6dfea6b2ed">

我也想知道如何仅9e2ec595c926065318629a6dfea6b2ed作为变量获取?

那么如何使用 jQuery 和 RegExp 找到元素的值呢? 到目前为止我没有尝试任何东西。

4

3 回答 3

1

尝试:

var value = $("param[name='movie']").val();//get attribyte value
if(value && (value = value.match(/secEncCode=(\w+)/))){//reg exp
  value = value[1];//get first pocket
  console.log(value);//res
}

http://jsfiddle.net/xbQxw/

通过评论更新

如果要更改 secEncCode 值:

var param = $("param[name='movie']"),//get obj
    value=param.val(),//get attribyte value
    key; 
 if(value && (key = value.match(/secEncCode=(\w+)/))){//reg exp
     key = key[1];//get first pocket
     param.val(value.replace(key, "YOUR NEW KEY"));//replace key
 }
于 2013-04-17T21:07:52.653 回答
1

如果你想从值中提取结束部分

首先选择元素

$('param[name=movie]')

然后你可以使用 split 或 regex 或任何你想要的。这是一个拆分示例

var yourvariable = $('param[name=movie]').val().split('=')[1];

http://jsfiddle.net/XbBbC/

于 2013-04-17T21:07:57.637 回答
0

使用 jQuery attribute-ends-with 选择器

var strmatch = "secEncCode=9e2ec595c926065318629a6dfea6b2ed";
$element = $('[value$='+strmatch+']'); // a jQuery object, not a DOM element
于 2013-04-17T21:03:05.240 回答