jQuery .attr(“src”)for img无法正常工作

时间:2013-07-16 00:39:31

标签: javascript jquery html

这让我不知所措。

<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>

更多代码! 此代码更改了页面中调用的iframe的src

//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);

糟糕。

有另一行干扰的代码。 讨厌这件事。

这是错误的代码

//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=')));
});

只需要更改选择器。

感谢帮助人员

1 个答案:

答案 0 :(得分:0)

问题可以在这里

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

Ty而不是

$("#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']; ?>");

免责声明:我没有测试过。