2011-10-05 68 views
0

我有一個jQuery代碼如下:jQuery的DOM選擇問題

$("#"+iframeId).attr("src",url); //works perfect 
$("a[target="+iframeId+"]").attr("href", url); //does not return anything. not sure why? 

這裏iframeId得到 「swcontent」

<a target="swcontent" href="xyz.html" class="standardMenu_on">Link</a> 

在螢火蟲檢查器中,如果我寫

document.getElementsByTagName( 「A」)[0] .getAttribute( 「目標」)它沒有找到目標「swcontent」在我的JS包括一個

現在,我有;

jQuery.extend = jQuery.fn.extend = function() { 
    // copy reference to target object 
    var target = arguments[0], 
     a = 1; 

    // extend jQuery itself if only one argument is passed 
    if (arguments.length == 1) { 
     target = this; 
     a = 0; 
    } 
    var prop; 
    while (prop = arguments[a++]) 
     // Extend the base object 
     for (var i in prop) target[i] = prop[i]; 

    // Return the modified object 
    return target; 
}; 

難道這導致任何問題,如果是的話,我該如何解決這個問題(我有可能的範圍僅限於改變整個代碼)

+1

是'iframeId'絕對'swcontent'? – lonesomeday

+0

是......對...... – testndtv

回答

0

如果您iframeId是「swcontent」,那麼它應該工作 我編寫一個簡單的例子做同樣的,你想要做 和CSS類實際上添加到錨標記

var iframeid = "swcontent"; 
$('a[target="' + iframeid + '"]').addClass('loadsInIframe'); 

看看這裏: http://jsfiddle.net/saelfaer/pWgWZ/1/

0

它完美,如果你sorrounding用'的vararible ;-)

$("a[target='"+iframeId+"']").attr("href", url); 
+0

您是否考慮過我提供的jQuery.extend? – testndtv

+0

請參閱http://jsfiddle.net/WyB7q/ – reporter