如何使用Jquery在javascript调用中查找和更改值

时间:2015-03-22 17:51:53

标签: jquery html dom

如何使用JQuery在下面的javascript调用中查找和更改值。具体而言,以下值:,1,1,0,0,'否'。然后更改为:,2,2,0,0,'是'。

代码

<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>

1 个答案:

答案 0 :(得分:0)

最直接的方式是:

$('.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数组中的字符串更容易修改。