假设我有以下链接:
<a href="#shippingaddress" onclick="return validateBillingAddress(document.addressInput,'ADDR_CONTINUE_ACTION',event);" >
修改
我正在使用多页面方法将不同的部分(div)显示为页面
在那个验证函数中我正在验证表单,如果一切正常,那么显示隐藏的<div>
并且在<div>
可见<spans>
之后将被jquery移动框架应用,直到除此之外div被隐藏没有span,
但是当div变得可见时,jquery mobile会被应用到它上并附加一些跨度..我需要访问这个跨度:
<span>blah</span>
所以我想在<span>
事件后更改此click
的文字,因为在<span>
事件后会显示click
。
有没有办法做到这一点?
答案 0 :(得分:1)
在验证功能中,您可以执行以下操作:
<div id="someDiv" style="display:none">
<span id="someSpan"></span>
</div>
<script type="text/javascript">
function validateBillingAddress() {
var valid = true;
... // do whatever you need to validate your input here and update valid variable
if (valid) {
$('#someDiv').show();
// if the validation is succesful invoke some function in the framework here
$.ajax({
...
success: function() {
//append the span to the div here
$(#someDiv').append('The span HTML content');
},
...
});
}
}
</script>
答案 1 :(得分:0)
不要使用内联javascript ...
$("#validate").click(function(){
// validate billing address
});
<a id="validate">Validate</a>
要创建跨度并将侦听器附加到它,请附加到div:
$("<span />").click(function(){
$(this).text("New Text");
}).appendTo("#divToShow");
编辑:
由于您没有提供太多信息,我唯一可以帮到您的是:
1-要访问div中的所有范围,请执行以下操作:
$("#myDivId span")
2-要仅访问div的直接子节点,请执行以下操作:
$("#myDivId > span")
3-要仅访问div中的最后一个范围,请执行以下操作:
$("#myDivId span:last")
更重要的是,只有你提供一些实际生成的代码
答案 2 :(得分:0)
您实际上可以将validateBillingAddress嵌入到另一个函数中,其中包含“回调”行
function doValidate( event ) {
validateBillingAddress(document.addressInput,'ADDR_CONTINUE_ACTION',event);
$('#spanElement').text( 'new text' );
}
然后
<a onclick="return doValidate( event );" >
如果您避免使用onclick属性来支持非侵入性事件处理(如
),那会更好$('#aElement').click( function( e ) {
doValidate( e );
});