여기에서 발견 된 것들을 시도했지만 붙어있는 것처럼 보입니다. 여기에 내가하고 싶은 작업은 다음과 같습니다 링크를 클릭 부모 요소 클래스 jQuery ajax.get을 통해 title 속성을 변경하십시오.
- 응답
# 1을 알아 냈고 # 2에서 AJAX 요청을 보내고 (호출 된 파일이 수행해야하는 모든 작업을 수행하고 응답도 좋습니다) 제목에 응답을 "첨부"하는 데 어려움을 겪고 있습니다.
가 여기 내 HTML 코드
내가 직접$(this).attr('title', data);
를 사용하는 대신 $.title = data;
의 노력 <html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('li div.toggle a').click(function() {
$.get(
"test1.php",
{ id: $(this).attr('id'), title: $(this).attr('title') },
function(data) {
$.title = data;
},
"text");
$(this).attr('title', $.title);
$(this).closest('li').toggleClass('highlight');
});
});
</script>
<style type="text/css" media="screen">
.highlight {
background: red;
}
</style>
</head>
<body>
<ul>
<li>
<div>1</div>
<div class="toggle"><a href="#" id="1" title="this is off">Toggle</a></div>
</li>
<li class="highlight">
<div>2</div>
<div class="toggle"><a href="#" id="2" title="this is on">Toggle</a></div>
</li>
</ul>
</body>
</html>
하지만 문제가 해결되지 않습니다 - 내 생각은 스크립트에서 그 단계에서 $(this)
이 <a>
태그되지 않는 것입니다, 적절한 <a>
태그를 "다르게"선택하는 방법을 이해하는 데 충분한 jQuery를 알지 못합니다. 어쨌든, 이상한 것은 그것이 이런 식으로 작동한다는 것입니다 - 그러나 단지 다른 모든 시간!
내가 다음 해당 ID를 통해 <a>
요소를 호출하여 시도하고 나는 그것을 하드 코딩 ... 그래서 클릭는 클래스가 아닌 제목은 변경 다음 클릭는 다시 이제 제목 클래스를 변경 - 그때마다 작동합니다 : $('#1').attr('title', data);
하지만 물론 클릭 한 링크에 따라 올바른 ID를 사용해야합니다 -하지만 여기 그것을 얻는 방법을 모르겠습니다. 여기
<?php
if (substr($_GET['title'], -2)=="on") {
$result = "off";
}
else {
$result = "on";
}
print "this is ".$result;
?>
내 생각 호출되는 파일의 test1.php 코드입니다. 찾고있는 것에 미리 감사드립니다.
j.
Andy는 본질적으로 동일한 단어를 더 적은 단어로 제안합니다. 그는 title 속성을 변경하는 코드를 콜백 함수로 옮긴다. 강조 표시 비즈니스를 동기 코드에 남겨 둘지 또는 성공 콜백으로 옮길 지 여부는 실행시기에 따라 다릅니다. – alegscogs