使用 jQuery 更改链接中的参数

发布于 2024-12-08 01:06:32 字数 403 浏览 0 评论 0原文

我使用的是 jQuery 1.3.2,我的页面上有一个输入字段,提供要复制的链接,如下所示:http://mydomain.com/resize.php?src=http://www。 externaldomain.com/content/Uploads/everydaymail.jpg&w=533&h=400&zc=1 。我想使用 jQuery 并能够将 w=533 部分更改为 w=300,例如,将 h=400 更改为更改为 h=200 。这是我正在使用的图像调整大小脚本,我希望能够使用我想要的动态值来更改输入框中该链接的高度和宽度参数。

我不擅长正则表达式,任何人都可以提供示例/建议吗?

谢谢。

I am using jQuery 1.3.2 and I have an input field on my page that provides link to be copied, like this one: http://mydomain.com/resize.php?src=http://www.externaldomain.com/content/Uploads/everydaymail.jpg&w=533&h=400&zc=1 . I would like to use jQuery and be able to change w=533 part to w=300, for example and also the h=400 to change into h=200 . This is an image resizing script that I'm using and I want to be able to change the height and width parameters from that link in the inputbox with my desired values that are dynamic.

I am no good at regex, can anyone provide an example/suggestion ?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

拧巴小姐 2024-12-15 01:06:32

无论使用什么版本的 jQuery。所有版本都可以设置元素属性值。这里的要点是使用正则表达式来解析这个值并更新参数或者只是从头开始构建链接。

这是链接生成器::)

$('#build').click(function() {

    var src = $('#src').val();
    var w = $('#w').val();
    var h = $('#h').val();

    var link = "http://mydomain.com/resize.php?src=" + src + "&w=" + w + "&h=" + h + "&zc=1";

    $('#link').attr('src', link).text(link);

});

$('#replace').click(function() {

    var src = $('#src').val();
    var w = $('#w').val();
    var h = $('#h').val();

    var link = $('#link').attr('src')

    link = link.replace(/w=\d{1,4}/i, "w=" + w)
               .replace(/h=\d{1,4}/i, "h=" + w);

    $('#link').attr('src', link).text(link);

});

代码: http://jsfiddle.net/wzc8F/10/

It's no matter what version of jQuery will be used. All version can set element attribute values. The main point here it to use Regex to parse this value and update params or just construct link from scratch.

Here is link builder: :)

$('#build').click(function() {

    var src = $('#src').val();
    var w = $('#w').val();
    var h = $('#h').val();

    var link = "http://mydomain.com/resize.php?src=" + src + "&w=" + w + "&h=" + h + "&zc=1";

    $('#link').attr('src', link).text(link);

});

$('#replace').click(function() {

    var src = $('#src').val();
    var w = $('#w').val();
    var h = $('#h').val();

    var link = $('#link').attr('src')

    link = link.replace(/w=\d{1,4}/i, "w=" + w)
               .replace(/h=\d{1,4}/i, "h=" + w);

    $('#link').attr('src', link).text(link);

});

Code: http://jsfiddle.net/wzc8F/10/

鹤舞 2024-12-15 01:06:32

我最终使用:

var newWVal = $('#inputfield').val().replace(/w=[\d\.]+&/g, 'w='+imageWidth+'&');
var newFinalVal = newWVal.replace(/h=[\d\.]+&/g, 'h='+imageHeight+'&');
$('#inputfield').val(newFinalVal);

我认为正则表达式可能更聪明一点,但这种方式也很有效。

感谢您的建议。

I ended up using:

var newWVal = $('#inputfield').val().replace(/w=[\d\.]+&/g, 'w='+imageWidth+'&');
var newFinalVal = newWVal.replace(/h=[\d\.]+&/g, 'h='+imageHeight+'&');
$('#inputfield').val(newFinalVal);

I think the regex could be a little smarter but it also works great this way.

Thank you for your suggestions.

生寂 2024-12-15 01:06:32

尚未测试此代码,因此买者自负...

模板字符串:

var str = "http://mydomain.com/resize.php?src=http://www.externaldomain.com/content/Uploads/everydaymail.jpg&w=XXX&h=YYY&zc=1";  

根据需要使用:

str = str.replace("w=XXX", "w=your_value_here"); 
str = str.replace("h=YYY", "h=your_value_here"); 

HTH。

编辑:

好吧,假设动态变量:

var height = 42;
var width = 42;

str = str.replace( "w=XXXX", "w=" + width ); 
str = str.replace( "h=YYYY", "h=" + height ); 

有意义吗?

Haven't tested this code, so caveat emptor...

Template string:

var str = "http://mydomain.com/resize.php?src=http://www.externaldomain.com/content/Uploads/everydaymail.jpg&w=XXX&h=YYY&zc=1";  

Use as needed:

str = str.replace("w=XXX", "w=your_value_here"); 
str = str.replace("h=YYY", "h=your_value_here"); 

HTH.

EDIT:

Okay, assuming dynamic variables:

var height = 42;
var width = 42;

str = str.replace( "w=XXXX", "w=" + width ); 
str = str.replace( "h=YYYY", "h=" + height ); 

Make sense?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文