<script language="javascript" type="text/javascript">
function hasPasswordChanged(value)
{
if(value == '1')
{
var container = document.getElementById("sNav");
if(document.getElementsByTagName)
{
var hyperLinkList = container.getElementsByTagName("a");
for(var currentLink in hyperLinkList)
{
hyperLinkList[currentLink].disabled = true;
hyperLinkList[currentLink].onclick =function() { return false;}
}
}
}
}
window.onload = function()
{
hasPasswordChanged('<% = HasPasswordAlreadyChanged %>');
}
</script>
答えて
パスワードが既に変更されている場合は、ページ上のナビゲーションリンクを無効にしたいとします。
$(function() {
var changed = <%= HasPasswordAlreadyChanged %>;
if (changed) {
$('#sNav a').attr('disabled','disabled')
.click(function() { return false; });
}
});
>直接の子供を選択します...一方、getElementsByTagNameは親ノードの子孫を選択します。また、.attr関数を使用して無効を設定することもできます。 小さなニトックス、ちょうど私が共有したいと思った。 –
完璧なイモ! –
あなたは持っていますが、htmlでは適切な属性が無効になっていますか? – TStamper
function hasPasswordChanged(value)
{
if(value == '1')
{
$('#sNav a').attr('disabled', 'true').click(function(){ return false; });
}
}
$(function(){
hasPasswordChanged('<% = HasPasswordAlreadyChanged %>');
})
又はビットwierder:
$(function(){
<% = HasPasswordAlreadyChanged %> == 1 ? $('#sNav a').attr('disabled', 'true').click(function(){ return false; }) : "";
});
<script language="javascript" type="text/javascript">
$(function(){
if ('<% = HasPasswordAlreadyChanged %>' == '1') {
$("#sNav").find("a").attr("disabled","disabled").click(function(){return false;});
}
});
</script>
ありがとう私はあなたのアプローチが好きです。 – Shiva
それで、それを正解とマークしてください:P –
推定HasPasswordAlreadyChangedは0または1(またはflase /真)のいずれかである
jQuery(function($){
!!<%= HasPasswordAlreadyChanged %> && $("#sNav a").attr("disabled",true).click(function(){return false;})
})
また、無効にしA要素の属性はどのような方法でも影響を及ぼしますか?
function hasPassWordChanged(value) {
if (value == '1') {
$("#sNav a").attr("disabled", true).click(function() {return false;});
}
}
$(function() {
hasPasswordChanged('<% = HasPasswordAlreadyChanged %');
});
これは、ID sNav
とノードの子であるすべてのa
のタグを選択し、trueに自分無効にすべての属性を設定し、クリックイベント時に呼び出される指定返す偽の機能を設定します。
最後の部分は、指定された関数を持つ$()
の呼び出しで、DOMが処理される準備ができたら関数を実行し、関数が渡されたときは$(document).ready()
の同義語です。これをwindow.onload
の設定に置き換えることもできますが、$()
への呼び出しがjQueryの方が望ましいです。
解決してくれてありがとう、非常に良い説明です。それは本当にあなたの一種です! – Shiva
JavaScriptが動作しているので、バグを導入する危険性があるため、JavaScriptをjQueryに変換することはおそらく価値がありません。
私は検討するかもしれない唯一のものは、jQueryのイベント処理を使用してではなく、明示的にwindow.onload使用している:jQueryの*は*のJavaScriptであることを考えると
function hasPasswordChanged() {
// unchanged
}
$(document).ready(function() {
hasPasswordChanged('<% = HasPasswordAlreadyChanged %>');
});
を、私はglibの応答をしていない悩みを抱えていますあなたの正確なコードを回答として再投稿することができます。 :P –
なぜこれを行う必要がありますか?どのjquery機能を使用する必要がありますか?あなたの目的は何ですか?等? – jrcs3
@ダニエル:すべてのjQueryはJavascriptですが、すべてのJavascriptがjQueryであるとは限りません。 – tvanfosson