如何使用 Jquery 在 javascript 调用中查找和更改值
How do you find and change a value inside a javascript call using Jquery
如何使用 JQuery 在下面的 javascript 调用中查找和更改值。具体来说,有以下值: , 1, 1, 0, 0, 'No'。然后更改为:, 2, 2, 0, 0, 'Yes'.
代码
<div class="ArrowDiv"><a href="javascript:ValidateFormFieldValue('form1','TelligentUpdate.asp', 1, 1, 0, 0, 'No', 'ORDER^BY^WebSiteDocumentAlias.ixtCode^asc', 0, 'Next','','Update', '','','','','','','', '', '', '', '', '');" onclick="doSubmitButton();doSubmit();" onmouseover="window.status='';return true;" onmouseout="window.status='';return true;"><img src="/telligent/images/StyleBlueRocket/ArrowRight.jpg" width="19" height="19" border="0" title="Next" align="absMiddle"></a></div>
最艰难的前进方式是:
$('.ArrowDiv>a')[0].attr("href", "javascript:ValidateFormFieldValue('form1','TelligentUpdate.asp', 2, 2, 0, 0, 'Yes', 'ORDER^BY^WebSiteDocumentAlias.ixtCode^asc', 0, 'Next','','Update', '','','','','','','', '', '', '', '', '');");
但那是不可读的
var values = [
"'form1','TelligentUpdate.asp', 1, 1, 0, 0, 'No', 'ORDER^BY^WebSiteDocumentAlias.ixtCode^asc', 0, 'Next','','Update', '','','','','','','', '', '', '', '', ''",
"'form1','TelligentUpdate.asp', 2, 2, 0, 0, 'Yes', 'ORDER^BY^WebSiteDocumentAlias.ixtCode^asc', 0, 'Next','','Update', '','','','','','','', '', '', '', '', ''"
];
//wrap the following in an event
var myDiv = $('.ArrowDiv>a')[0];
var functionName = 'ValidateFormFieldValue';
var myDivValue = myDiv.attr('href').split('javascript:'+functionName+'(')[1].slice(0, - 1);
if (values.indexOf(myDivValue)===1){
myDiv.attr('href', 'javascript:'+functionName+'('+values[0]+')');
} else if (values.indexOf(myDivValue)===0) {
myDiv.attr('href', 'javascript:'+functionName+'('+values[1]+')');
};
这应该有效,如果无效,请检查 myDivValue 变量。您可能还想修改代码以使其更高效。一个例子是把字符串放在values
数组中,这样更容易修改。
如何使用 JQuery 在下面的 javascript 调用中查找和更改值。具体来说,有以下值: , 1, 1, 0, 0, 'No'。然后更改为:, 2, 2, 0, 0, 'Yes'.
代码
<div class="ArrowDiv"><a href="javascript:ValidateFormFieldValue('form1','TelligentUpdate.asp', 1, 1, 0, 0, 'No', 'ORDER^BY^WebSiteDocumentAlias.ixtCode^asc', 0, 'Next','','Update', '','','','','','','', '', '', '', '', '');" onclick="doSubmitButton();doSubmit();" onmouseover="window.status='';return true;" onmouseout="window.status='';return true;"><img src="/telligent/images/StyleBlueRocket/ArrowRight.jpg" width="19" height="19" border="0" title="Next" align="absMiddle"></a></div>
最艰难的前进方式是:
$('.ArrowDiv>a')[0].attr("href", "javascript:ValidateFormFieldValue('form1','TelligentUpdate.asp', 2, 2, 0, 0, 'Yes', 'ORDER^BY^WebSiteDocumentAlias.ixtCode^asc', 0, 'Next','','Update', '','','','','','','', '', '', '', '', '');");
但那是不可读的
var values = [
"'form1','TelligentUpdate.asp', 1, 1, 0, 0, 'No', 'ORDER^BY^WebSiteDocumentAlias.ixtCode^asc', 0, 'Next','','Update', '','','','','','','', '', '', '', '', ''",
"'form1','TelligentUpdate.asp', 2, 2, 0, 0, 'Yes', 'ORDER^BY^WebSiteDocumentAlias.ixtCode^asc', 0, 'Next','','Update', '','','','','','','', '', '', '', '', ''"
];
//wrap the following in an event
var myDiv = $('.ArrowDiv>a')[0];
var functionName = 'ValidateFormFieldValue';
var myDivValue = myDiv.attr('href').split('javascript:'+functionName+'(')[1].slice(0, - 1);
if (values.indexOf(myDivValue)===1){
myDiv.attr('href', 'javascript:'+functionName+'('+values[0]+')');
} else if (values.indexOf(myDivValue)===0) {
myDiv.attr('href', 'javascript:'+functionName+'('+values[1]+')');
};
这应该有效,如果无效,请检查 myDivValue 变量。您可能还想修改代码以使其更高效。一个例子是把字符串放在values
数组中,这样更容易修改。