3

我正在尝试让我的 jQuery 脚本从单击的链接中提取 url,然后将其插入到我的视频标签中。有什么建议吗?

我试过拼接我从 .html() 得到的东西,但引号总是搞砸了。

<div class="binShadow">
        <div class="bin">       
            <table id="tableBin" border="0">
                <tr>
                    <th>name</th>
                    <th>description</th>
                    <th>location</th>
                    <th>duration</th>
                </tr>
                <tbody>
                    <tr>
                        <td><a href='clip1234.mov'>Clip1234</a></td>
                        <td>dolor sit amet, consectetur adipiscing elit</td>
                        <td>dr101</td>
                        <td>:60</td>
                    </tr>
                    <tr>
                        <td><a href="clip456.mov">Clip456</a></td>
                        <td>Lorem ipsum dolor sit amet</td>
                        <td>dr101</td>
                        <td>:60</td>
                    </tr>
                </tbody>
                </div>
            </table>
        </div>
    </div>  
</div>
<script>
    $("#tableBin").click(function () {
            var url = $(this).html(); //Not even close to working
            var overlay = jQuery('<div class="boxWrapper"><div class="box"><video src="'+url+'"</div></div>');

            overlay.appendTo(document.body);
    });
</script>

您可以href直接从单击的上下文中提取:

$("#tableBin").on("click", "a", function(e){
  e.preventDefault();
  url = this.href;
});
4

3 回答 3

4

您可以href直接从单击的上下文中提取:

$("#tableBin").on("click", "a", function(e){
  e.preventDefault();
  url = this.href;
});
于 2012-04-25T16:07:47.943 回答
2

给你:

$("#tableBin a").on("click", function(e) {
 e.preventDefault();
 var url = $(this).attr("href");
 var overlay = jQuery('<div class="boxWrapper"><div class="box"><video src="'+url+'"</div></div>');

 overlay.appendTo(document.body);
});
于 2012-04-25T16:07:49.633 回答
0

var url = $(this).html();将为您提供一个包含 html 的字符串

<a href="...">...</a>标签。在你的情况下,它会读到类似Clip1234

你想读取href属性。

var url = this.href; //Plain old Javascript, not jQuery
于 2012-04-25T16:09:29.253 回答