2013-07-16 122 views
0

這讓我感到很不爽。jQuery .attr(「src」)對於img不起作用

<div id="HLrec_preview" style="width: 218px;"> 
    <img src="HLrec.jpg" style="width: 218px;"> 
<div style="font-weight: bold;" id="title">a</div> 
<div id="link">a</div> 
<div id="plaintext">a</div> 
</div> 
<script> 
    var HL_rec_image_link = $("#HLrec_preview img").attr("src"); 
    alert(HL_rec_image_link); 
</script> 

代碼工作得很好中的jsfiddle http://jsfiddle.net/t72uQ/

但在我的網站,這是行不通的。警報顯示爲空白。

必須有一些影響結果的外部因素,但我無法弄清楚什麼。

這可能是什麼原因造成的?

在此先感謝

更完整代碼:

<input type="button" id="HLrec_input" value="HL Recommends" style="display:block; width:222px;"/> 
<div id="HLrec_preview" style="width: 218px;"> 
    <img src="" style="width: 218px;"/> 
    <div style="font-weight: bold;" id="title"></div> 
    <div id="link"></div> 
    <div id="plaintext"></div> 
</div> 
<script> 
$(document).ready(function(e) { 

      var HLrec = "<?php 
    if(isset($_GET["ID"])) 
     echo $row["HL_REC"]; 
    else 
     echo "0"; 
     ?>"; 
     if(HLrec == "1") 
     { 
      <?php 
     $query = "SELECT IMAGE_LINK, TITLE, LINK, PLAINTEXT FROM HL_Rec WHERE ID=" . $_GET['ID']; 
     $result = mysql_query($query); 
     $row = mysql_fetch_assoc($result); 
      ?> 

      $("#HLrec_preview img").attr('src', "<?php echo $row["IMAGE_LINK"]; ?>"); 
      $("#HLrec_preview #title").text("<?php echo $row["TITLE"]; ?>"); 
      $("#HLrec_preview #link").text("<?php echo $row["LINK"]; ?>"); 
      $("#HLrec_preview #plaintext").text("<?php echo $row["PLAINTEXT"]; ?>"); 
     } 

$("#submit_input").click(function(e) { 
      //set HLrec data 
    var HL_rec = 0; 
    var HL_rec_title = "none"; 
    var HL_rec_link = "none"; 
    var HL_rec_image_link = $("#HLrec_preview img").attr("src"); 
    var HL_rec_plaintxt = "none"; 
    alert(HL_rec_image_link); 
    if(HL_rec_image_link.length > 0) 
    { 
     HL_rec = 1; 
     HL_rec_title = $("#HLrec_preview #title").text(); 
     HL_rec_link = $("#HLrec_preview #link").text(); 
     HL_rec_image_link = $("#HLrec_preview img").attr('src'); 
     HL_rec_plaintxt = $("#HLrec_preview #plaintext").text(); 
    } 
    else 
     HL_rec_image_link = "none"; 
     }); 
}); 
</script> 

更多的代碼! 這個代碼叫做頁面

//appends the article tags with content 
var title = $("#title").val(); 
var url = $("#link").val(); 
var plaintxt = $("#plaintext").val(); 
//inject html 
$("#HLrec_preview img", parent.document).attr('src', newfile); 
$("#HLrec_preview #title", parent.document).text(title); 
$("#HLrec_preview #link", parent.document).text(url); 
$("#HLrec_preview #plaintext", parent.document).text(plaintxt); 

哎呦一個iframe改變SRC。

有另一行代碼被幹擾。 這種事發生時就討厭了。

這是不好的代碼

//remove t variable from img src's to re enable caching 
$("#content_reader_collumn img, #submit_form img").each(function(index, element) { 
    $(this).attr("src", $(this).attr("src").substring(0, $(this).attr("src").indexOf('?t='))); 
}); 

只需要改變選擇。

感謝您的幫助球員

+2

你會給我們你的網站網址嗎? – Emkey

+0

文檔就緒處理程序中的代碼是什麼? – Barmar

+0

是的,特別是如果您懷疑問題不在您已經提供的代碼中。 – Luke

回答

0

問題都可以在這裏

$("#HLrec_preview img").attr('src', "<?php echo $row["IMAGE_LINK"]; ?>"); 

泰這個代替

$("#HLrec_preview img").attr('src', "<?php echo $row['IMAGE_LINK']; ?>"); 

同樣,

$("#HLrec_preview #title").text("<?php echo $row['TITLE']; ?>"); 
$("#HLrec_preview #link").text("<?php echo $row['LINK']; ?>"); 
$("#HLrec_preview #plaintext").text("<?php echo $row['PLAINTEXT']; ?>"); 

聲明:我沒有測試它。

+2

PHP不應該在意你是使用單引號還是雙引號。 – Barmar

+0

是的,這是一個錯誤,但它不會改變問題。當我提交時,我可以看到src是「HLrec.jpg」。 – Nikita240

+0

@Barmar但不會將「<?php echo $ row [」視爲一個字符串 –