2013-04-17 37 views
-6

這裏是我的html代碼部分的DOM元素值解析網址:查找和使用正則表達式和jQuery

<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查找元素的值? 到目前爲止,我沒有嘗試過任何東西。

回答

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 
} 
+0

hm,如何如果我有/Flash/Dg_Inverse.swf?secEncCode=如何設置/不是第二/ –

+0

hm(沒有工作....也許因爲我有/Flash/Dg_Inverse.swf?secEncCode爲值? –

0

使用jQuery的attribute-ends-with selector

var strmatch = "secEncCode=9e2ec595c926065318629a6dfea6b2ed"; 
$element = $('[value$='+strmatch+']'); // a jQuery object, not a DOM element 
+0

一個錯誤的例子...... 9e2ec595c926065318629a6dfea6b2ed不是固定的,而是動態的....然後我需要使用VAR strmatch = 「secEndCode =」; ? –

+0

你可以通過任何你想要的字符串。我用一個變量'strmatch'來保持它簡單。 – Blazemonger

1

,如果你想結束部分提取出來的值

第一選擇要素

$('param[name=movie]') 

那麼你可以使用拆分或正則表達式或任何你想要的。下面是與分裂

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

http://jsfiddle.net/XbBbC/