私はjQueryに苦労しています。ボタンがクリックされたときに、ボタンと同じ親(リストアイテム)を共有するテキスト領域が読み取り専用かどうかをチェックするスクリプトを作成したいと思います。HTMLは次のとおりです。
...
<li>
<h1>Title</h1>
<button type="button" onclick="javascript:confirmDelete();">Delete</button>
<button type="button" onclick="javascript:toggle();">Toggle</button>
<textarea class="readOnly" readonly="true">Some text</textarea>
</li>
...
そしてスクリプト:
<script language="JavaScript">
<!--
...
function toggle()
{
var textArea = $(this).parent("li").children("textarea");
var isReadOnly = textArea.attr("readonly");
if (isReadOnly == "true") {
alert('It\'s read-only.');
} else {
alert('It\'s not read-only.');
}
}
//-->
</script>
合格できないようですvar textArea = ...
アップデート1:
OK、問題を分析できるように、選択を分解しました。
...
var btn = $(this);
console.log(btn); //returns value, but not sure what exactly
var li = btn.parent();
console.log(li); //returns value, but not sure what exactly
var textArea = li.children('textarea');
console.log(textArea.prop('tagName')); //returns unidentified
だから、エラーがあります。デバッグから得られるすべての出力がオブジェクトである場合(そしてそれが何を表すのかさえわかりません。それが要素なのか配列なのか)、実際には何が間違っているのか理解できないようです。 ..)またはunidentified
。jQueryは正確には直感的ではありません。