我正在尝试getElementById(“game_image”)并且TagName是'img'我希望'src'标记内的数据,特别是'key = f430a2c1'标记。:
<img id="game_image" src="img/index.php?key=f430a2c1&rand=956875" alt="game image." style="padding-right:150px;" />
*
$("#b_hint").click(function(){
// var images = document.getElementsByTagName("img"),
// wanted;
var data = document.getElementById("game_image"), wanted;
wanted = data[1].src;
// if (images.length) {
// wanted = images[1].src;
// if (wanted) {
// wanted = wanted.split("?");
// if (wanted.length >= 2 && wanted[1].indexOf("&") !== -1) {
// wanted = wanted[1].split("&")[0];
// }
// }
//}
//if (typeof wanted !== "string") {
// wanted = "";
// }
alert(wanted);
答案 0 :(得分:3)
wanted = data.src;
getElementById
返回单个元素,而不是NodeList,因此您不需要使用数组语法。
答案 1 :(得分:0)
wanted = data.src;
wanted = wanted.substring(wanted.indexOf('?') + 1)
答案 2 :(得分:0)
考虑到src
网址可能包含更多以'&amp;'分隔的参数,您可以像这样提取key=...
:
function getKey(url) {
var idx1 = url.indexOf("?") + 1;
if (idx1 == -1) { return ""; }
var idx2 = url.indexOf("&");
if (idx2 == -1) { idx2 = url.length; }
return url.substring(idx1, idx2);
}
$("#b_hint").click(function() {
var img = document.getElementById("game_image");
var wanted = getKey(img.src);
...
注意强>:
要使getKey()
函数正常工作,'key'参数必须直接在'?'之后(例如...?key=...
,但不 ...?some=other&key=...
)。
答案 3 :(得分:0)
另请参阅此正则表达式解决方案:
var regex = new RegExp(".*?\\?.*?\\b(key=[^&]+)");
$("#b_hint").click(function() {
var src = document.getElementById("game_image").src;
var wanted = regex.test(src) ? src.match(regex)[1] : "";
...
这将与key=<value>
部分正确匹配,即使'key'不是查询字符串中的第一个参数。
答案 4 :(得分:-1)
Jquery的? 工作小提琴 - &gt; http://jsfiddle.net/mpyfQ/8/
var data = $("#game_image").attr("src");
data = data.substring(data.indexOf('?') + 1);
答案 5 :(得分:-2)
答案应该是InnerHTML。