我需要從ms-unselectedtitle這是SharePoint 2007列表中ms-vb-title的子元素中提取ID。然後這將與一個url連接在一起打開一個新窗口。窗口需要用window.open()方法打開,這樣我可以控制大小並關閉菜單。在列表中按計算列創建鏈接將不起作用,因爲它只是在包含所有菜單的選項卡中打開一個新窗口。我在這裏找到代碼(「How to get ID value from tables nested in other tables with jQuery」),但它返回一個ID數組,而不是錶行。我是新來的JavaScript/jQuery,所以我有點卡住了。請注意,我使用的ID已嵌入列表的「標題」字段中。 HTML部分是這裏...我需要連接url與SharePoint列表tr id
<TD class=ms-vb-title height="100%" sizset="50" sizcache011076027996994381="6">
<TABLE onmouseover=OnItem(this) id=284 class=ms-unselectedtitle height="100%"
cellSpacing=0 Type="" SUrl="" UIS="1024"
CId="0x010010381707B6E7FC45825D794C02F54155" CType="Item" MS="0" CSrc="" HCD=""
COUId="" OType="0" Icon="icgen.gif||" Ext="" Perm="0x400001f07ee71bef"
DRef="sites/site1/M/S/Lists/MAINT_ACTIONS" Url="/sites/site1/M/S/Lists
/MAINT_ACTIONS/284_.000" CTXName="ctx1" sizset="50" sizcache011076027996994381="6">
<TBODY beenthere="1">
<TR>
<TD class=ms-vb width="100%"><A onclick="GoToLink(this);return false;"
onfocus=OnLink(this) href="/sites/site1/M/S/Lists/MAINT_ACTIONS
/DispForm.aspx?ID=284" target=_self>Item <IMG class=ms-hidden border=0
alt="Use SHIFT+ENTER to open the menu (new window)." src="/_layouts/images
/blank.gif" width=1 height=1></A></TD>
<TD><IMG style="VISIBILITY: hidden" alt=Edit src="/_layouts/images
/menudark.gif" width=13></TD>
</TR>
</TBODY>
</TABLE>
</TD>
接近於是下面的代碼...
// filter out all tables with immediate parent td.ms-vb-title
// returns a collection
var ids = $('.ms-unselectedtitle').filter(function() {
return $(this).parent('td').hasClass('.ms-vb-title');
// from resulting collection, grab all IDs
}).map(function() {
return this.id;
// convert to array
}).get();
有人能幫助我在這裏?請注意,我試圖從該行中的可點擊鏈接訪問ID。
你可以發佈一些html結構嗎?當你說你發佈的代碼很接近時,這意味着什麼。什麼是回來,它應該返回什麼?製作[Fiddle](http://jsfiddle.net)將是最佳選擇。 –
Adam,我已經用ms-vb-title代碼片段更新了帖子。另外,當我說它關閉時,get()方法返回列表中的所有ID。不過,我需要它只返回一個ID,即當前行的ID。這些行是表ms-listviewtable的兄弟,並且具有交替名稱「」和「ms-alternating」。 – pcnav
因此,基本上'td'裏的'a'元素的'click'事件想要得到它所屬的'td'的ID? –