要素の属性をプログラムで設定しようとしていますが、firebugはエラーを返し続けます。obj.setAttributeは関数ではありません。私はjQueryを使用しているので、コンテキストを見ることができるように少しの余分なコードを表示します。javascriptの問題の設定属性
コードは次のとおりです。
$j(function(){
function callback(response) {
if (response.status == 200) {
var data = response.responseBody;
console.log(data)
if (data.length > 0) {
var artistData = $j.parseJSON(data);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(artistData.location.lat, artistData.location.lng),
map: map
});
var obj = document.getElementById('ratingRender').firstChild;
obj.setAttribute("model", "[artist: deftones, rating: 4.0, artistID: 1]");
document.getElementById('recommendedList').appendChild(obj);
}
}
}
$j.atmosphere.subscribe('${resource(dir: '/atmosphere/recommend')}',
callback,
$j.atmosphere.request = {transport: 'streaming'});
$j('#buttonPost').click(function() {
var searchedArtist = '${search.artist}';
$j.get('${createLink(action: "recommend")}?artist=' + searchedArtist);
});
});
とratingRenderのDIV:
<div id="ratingRender" style="display: none">
<g:render template="/artist/rate" model="[artist: deftones, rating: 3.0, artistID: 1]" />
</div>
任意のアイデアですが、なぜでしょうか? ありがとうございます!
UPDATE
私はこれを試してみました:
var obj = $('#ratingRender').children().eq(0);
obj.attr("model", "[artist: deftones, rating: 4.0, artistID: 1]");
と、それはもうエラーを与えるものではありません。ただし、属性の変更は行われません。どうしてか分かりません。誰でも?
私はこれが有効な属性でも有効な要素でもないかもしれないと考えるかもしれません。 –